Один из вариантов чтобы запретить редактирование полей «Имя» и «Фамилия» на странице редактирования профиля для всех пользователей, можно использовать фильтр user_profile_update_errors.
Данный фильтр позволяет добавлять ошибки при обновлении профиля пользователя, что можно использовать для отключения редактирования полей.
Вот пример кода, который можно добавить в файл functions.php вашей темы:
function disable_user_profile_fields( $errors, $update, $user ) {
if ( ! empty( $_POST['first_name'] ) && $_POST['first_name'] !== $user->first_name ) {
$errors->add( 'first_name_error', __( 'Изменение имени запрещено.', 'text-domain' ) );
}
if ( ! empty( $_POST['last_name'] ) && $_POST['last_name'] !== $user->last_name ) {
$errors->add( 'last_name_error', __( 'Изменение фамилии запрещено.', 'text-domain' ) );
}
}
add_filter( 'user_profile_update_errors', 'disable_user_profile_fields', 10, 3 );
Другой вариант: вообще можете просто с помощью css скрыть данные поля. visibility: hidden.
При помощи js так же можно например запретить изменять данные строки.
В общем можно по разному это сделать.
Я поставил в файл functions.php в тему она не работает WOODMART
function disable_user_profile_fields( $errors, $update, $user ) {
if ( ! empty( $_POST['first_name'] ) && $_POST['first_name'] !== $user->first_name ) {
$errors->add( 'first_name_error', __( 'Изменение имени запрещено.', 'text-domain' ) );
}
if ( ! empty( $_POST['last_name'] ) && $_POST['last_name'] !== $user->last_name ) {
$errors->add( 'last_name_error', __( 'Изменение фамилии запрещено.', 'text-domain' ) );
}
}
add_filter( 'user_profile_update_errors', 'disable_user_profile_fields', 10, 3 );
Не работает можно попробовать использовать JavaScript для блокировки полей «Имя» и «Фамилия» на странице профиля пользователя. Как пример:
function disable_user_profile_fields_script() {
global $pagenow;
if ( $pagenow === 'profile.php' ) { ?>
<script>
jQuery(document).ready(function($) {
$('#first_name').attr('disabled', 'disabled');
$('#last_name').attr('disabled', 'disabled');
});
</script>
<?php }
}
add_action( 'admin_head', 'disable_user_profile_fields_script' );
Но есть один момент, пользователь может отключит у себя в браузере js, тогда это не работает.
Вы не могли бы мне помочь зайти в ВП и сделать) если не сложно)
буду очень благодарен!!!
Модератор
Yui
(@fierevere)
永子
Вы не могли бы мне помочь зайти в ВП и сделать
нет не могли, запрещено правилами форума и предлагать тоже запрещено