Es gibt keinen speziellen Hook - die Benutzerverwaltung hat in WordPress eine niedrige Priorität. Sie müssen die Ausgabepufferung verwenden (ja, nicht schön).
Hier ist eine einfache Demonstration, wie dies getan werden könnte:
add_action( 'personal_options', array ( 'T5_Hide_Profile_Bio_Box', 'start' ) );
/**
* Captures the part with the biobox in an output buffer and removes it.
*
* @author Thomas Scholz, <[email protected]>
*
*/
class T5_Hide_Profile_Bio_Box
{
/**
* Called on 'personal_options'.
*
* @return void
*/
public static function start()
{
$action = ( IS_PROFILE_PAGE ? 'show' : 'edit' ) . '_user_profile';
add_action( $action, array ( __CLASS__, 'stop' ) );
ob_start();
}
/**
* Strips the bio box from the buffered content.
*
* @return void
*/
public static function stop()
{
$html = ob_get_contents();
ob_end_clean();
// remove the headline
$headline = __( IS_PROFILE_PAGE ? 'About Yourself' : 'About the user' );
$html = str_replace( '<h2>' . $headline . '</h2>', '', $html );
// remove the table row
$html = preg_replace( '~<tr>\s*<th><label for="description".*</tr>~imsUu', '', $html );
print $html;
}
}
Sie können den Code als eigenständiges Plugin herunterladen: Plugin Remove Bio Box .
Vor
Nach
Die Passwortfelder befinden sich jetzt unter Kontaktinformationen. Wenn Ihnen das nicht gefällt, fügen Sie eine Überschrift hinzu stop()
- und kümmern Sie sich um I18n. ;)
IS_PROFILE_PAGE
Konstante gewusst :)<h3>
ist ein<h2>
jetzt. Ich habe den Code repariert.Seit dem letzten Klassenwechsel funktioniert dies:
quelle
$headline = __( IS_PROFILE_PAGE ? 'About Yourself' : 'About the user' )
in diese$headline = ( IS_PROFILE_PAGE ? __('About Yourself') : __('About the user' ));
<h2>
TagAufbauend auf den vorherigen Antworten verwende ich Folgendes, um die Teile der Benutzerseite zu entfernen, die ich nicht möchte:
Es ist immer noch abhängig von der Struktur des HTML, aber es funktioniert bei mir.
quelle
Die einfachste und leichteste Lösung besteht darin, CSS zu verwenden, um es einfach aus der Ansicht zu entfernen.
quelle
Wenn Sie den folgenden Code zu Ihrer functions.php-Datei hinzufügen, wird der Biobereich für alle Sprachen einer mehrsprachigen Site entfernt:
quelle