Обзор
При передаче сайта клиенту может быть полезно скрыть пункт меню “ACF”. Это не позволит клиенту изменять или удалять поля и поможет сайту работать стабильно.
В этой статье описаны три способа скрыть меню ACF:
- Скрыть меню для всех пользователей на всех сайтах.
- Скрыть меню для определённых пользователей на всех сайтах.
- Скрыть меню на рабочем сайте, сохранив функциональность на staging-сайте.
Последний вариант, вероятно, встречается чаще всего, так как он позволяет при необходимости продолжать редактировать поля и одновременно гарантирует, что клиенты не смогут внести несанкционированные изменения.
Скрыть для всех пользователей
Пункт меню ACF можно скрыть для всех пользователей, добавив следующий код в файл functions.php активной темы. Однако мы рекомендуем поместить код в mu-plugin, чтобы он не потерялся при смене темы. Обратите внимание, что __return_false — это функция WordPress, которая просто возвращает false.
add_filter('acf/settings/show_admin', '__return_false');
Скрыть для определённых пользователей
Приведённый выше код можно расширить так, чтобы он возвращал false только для определённых пользователей. Следующий код использует функцию WordPress current_user_can(), чтобы возвращать true или false в зависимости от прав текущего пользователя. Обратите внимание, что manage_options — это право, которое по умолчанию есть только у администраторов (и супер-администраторов).
add_filter('acf/settings/show_admin', 'my_acf_show_admin');
function my_acf_show_admin( $show ) {
return current_user_can('manage_options');
}
Скрыть только на рабочем сайте
Если добавить приведённый ниже код в файл functions.php, меню ACF будет скрыто на рабочем сайте, но останется доступным на staging-сайте или в локальной среде разработки.
if ( wp_get_environment_type() === 'production' ) {
// Разрешать редактирование полей только в среде разработки
add_filter( 'acf/settings/show_admin', '__return_false' );
}
Обновлено: 01.06.2026