Как скрыть меню ACF на рабочем сайте

Обзор

При передаче сайта клиенту может быть полезно скрыть пункт меню “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