Задача. На сайте есть кастомное поле для страницы пользователей в виде Выбора созданное в Advanced Custom Fields. Необходимо сделать так, чтобы значение поля мог изменять только администратор сайта, а для других пользователей поле отображалось, но они не могли его изменить (редактировать), т.е. должно быть с атрибутом атрибут «disabled» (Изображение 1).
Решение. Нужно сделать поле недоступным для пользователей нужно использовать хук-фильтр плагина acf/load_field/name=name_field
. В Коде #1 в кастомное поле 'name_field'
будет задаваться атрибут disabled
для всех текущих пользователей, кроме адиминистратора. В коде указаны какие могут быть еще типы пользователей (editor | author | contributor | subscriber).
1
2
3
4
5
6
7
8
9
10
11
12
13
|
## Disabled field / Сделать недоступным поле для изменения
function wpcraft_acf_field_disabled( $field ) {
// для всех кроме администратора (editor | author | contributor | subscriber)
$field[‘disabled’] = ! current_user_can(‘administrator’);
return $field;
}
// name_field – имя ACF поля
add_filter( ‘acf/load_field/name=name_field’, ‘wpcraft_acf_field_disabled’ );
|