Xem lại và cập nhật câu trả lời:
Chúng tôi không thể sử dụng user_contactmethods
bộ lọc để xóa trình bao bọc trang web, vì phần này được mã hóa cứng trong user-edit.php
tệp và không phải là một phần của vòng lặp liên hệ người dùng có thể lọc , được tạo bởi:
wp_get_user_contact_methods( $profileuser )
Ẩn nó bằng CSS
Phần tử hàng của trang web giờ đây có .user-url-wrap
lớp riêng :
<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>
Trước đây chúng tôi phải sử dụng jQuery, để nhắm mục tiêu hàng cha của #url
trường, để xóa.
Nhưng bây giờ chúng ta có thể dễ dàng nhắm mục tiêu trình bao bọc trang web và ẩn nó bằng CSS:
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' );
Ẩn các lĩnh vực khác
Có các lớp hàng tương tự:
tr.user-{field}-wrap
có sẵn cho các lĩnh vực:
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,
...
bao gồm tất cả các trường từ các phương thức liên hệ người dùng động .
Ở đây chúng ta chỉ cần thay thế {field}
một phần với tên trường tương ứng.
Ảnh chụp màn hình
Trước khi xóa hàng trang web:
Sau khi xóa hàng trang web:
.remove()
thay vì.hide()