Überarbeitete und aktualisierte Antwort:
Wir können den user_contactmethods
Filter nicht zum Entfernen des Website-Wrappers verwenden, da dieses user-edit.php
Teil in der Datei fest codiert ist und nicht Teil der filterbaren Benutzerkontaktschleife ist, die generiert wird von:
wp_get_user_contact_methods( $profileuser )
Verstecke es mit CSS
Das Website- Zeilenelement hat jetzt eine eigene .user-url-wrap
Klasse:
<tr class="user-url-wrap">
<th><label for="url"><?php _e('Website') ?></label></th>
<td>
<input type="url" name="url" id="url"
value="<?php echo esc_attr( $profileuser->user_url ) ?>"
class="regular-text code" />
</td>
</tr>
Zuvor mussten wir jQuery verwenden, um die übergeordnete Zeile des #url
Felds zum Entfernen anzuvisieren .
Aber jetzt können wir den Website- Wrapper ganz einfach als Ziel festlegen und ihn mit CSS ausblenden:
function remove_website_row_wpse_94963_css()
{
echo '<style>tr.user-url-wrap{ display: none; }</style>';
}
add_action( 'admin_head-user-edit.php', 'remove_website_row_wpse_94963_css' );
add_action( 'admin_head-profile.php', 'remove_website_row_wpse_94963_css' );
Andere Felder ausblenden
Es gibt ähnliche Zeilenklassen:
tr.user-{field}-wrap
verfügbar für die Felder:
admin-color,
comment-shortcuts,
admin-bar-front,
user-login,
role,
super-admin,
first-name,
last-name,
nickname,
display-name,
email,
description,
pass1,
pass2,
sessions,
capabilities,
...
einschließlich aller Felder aus den dynamischen Benutzerkontaktmethoden .
Hier ersetzen wir einfach das {field}
Teil durch den entsprechenden Feldnamen.
Screenshots
Vor dem Entfernen der Websitezeile:
Nach dem Entfernen der Website-Zeile:
.remove()
anstelle von.hide()