Описание customize_control_active
— Filter
Хук customize_control_active позволяет изменить состояние активности пользовательского контрола в WordPress Customizer. Он срабатывает при загрузке контролов и позволяет настроить, должны ли они быть доступны для редактирования в зависимости от условий на сайте.
Примеры использования
Пример отключения контрола в зависимости от настроек темы:
add_filter('customize_control_active', function($active, $control) {
if ($control->id === 'my_setting_id' && !get_theme_mod('enable_my_setting')) {
return false;
}
return $active;
});
В этом примере мы отключаем контрол с идентификатором ‘my_setting_id’, если настройка ‘enable_my_setting’ установлена на false.
Пример отключения всех контролов для определенной роли пользователя:
add_filter('customize_control_active', function($active, $control) {
if (!current_user_can('administrator')) {
return false;
}
return $active;
});
Здесь мы отключаем все контроли для пользователей, которые не являются администраторами.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо управлять доступностью контролов в зависимости от условий на сайте
– Производительность
Этот хук не должен существенно влиять на производительность, так как он проверяет состояние контролов только во время их загрузки
– Предупреждения
Следите за тем, чтобы отключение контролов не вводило пользователей в заблуждение относительно доступных настроек
Альтернативы
Тип: action
Этот хук позволяет добавлять новые контролы и секции в Customizer, но не управляет их активностью напрямую
Используйте его, если необходимо добавить новые элементы в Customizer