ACF Создать поле которое может редактировать только админ
Скажите, есть ли возможность создать в админки поле плагина ACF типа Текст, редактирование значения которого в админке будет возможно только для пользователей ранга администратор, или других званий?
Используйте фильтр acf/load_field для этих целей, например:
Где
my_key_field
надо сменить на своё имя поля.Что-то не работает это добавление в function.php. Есть пользователи с ролями Author/Contributor/Editor и заходя в свои учетные записи данные пользователи всё ещё имеют возможности менять значения в поле user_rank
Файл должен быть
functions.php
, а неfunction.php
- это важно, проверьте.Да, там. Описка. Функция не отрабатывает. Поле продолжает быть доступным всем для редактирования.
Поправил код и проверил дополнительно - должно работать
Интересная штука, поле вроде как и стало для других ролей кроме Админа статусом - "только на чтение". Но если, открыть окно разработчика, и в данном поле физически поставить свою надпись в value а потом Обновить, то оно нормально обновляет это дело. Это похоже на дыру... Возможно можно не выводить данное поле, для тех кому оно не предназначается для исправления ?
Можно попробовать тогда вот так:
К сожалению, это не работает. Даже со статусом автор, пользователь имеет возможность править такие поля
Каким образом он сможет это сделать, если поле даже не отображается?
В любом случае можно использовать хук
acf/validate_value
, чтобы не дать сохранить таким ролям поле.