customize_loaded_components
Позволяет удалить базовые компоненты Кастомайзера WordPress, например секции: меню, виджеты.
Удаленные из массива названия секций далее не будут инициализированы в кастомайзере.
ВАЖНО. Этот фильтр срабатывает во время события 'plugins_loaded', поэтому он должен быть использован в плагине и не может быть использован позднее этого события, например где-то в файле темы functions.php.
Использование
add_filter( 'customize_loaded_components', 'wp_kama_customize_loaded_components_filter', 10, 2 ); /** * Function for `customize_loaded_components` filter-hook. * * @param string[] $components Array of core components to load. * @param WP_Customize_Manager $manager WP_Customize_Manager instance. * * @return string[] */ function wp_kama_customize_loaded_components_filter( $components, $manager ){ // filter... return $components; }
- $components(массив)
Массив компонентов ядра, которые нужно подключить в кастомайзер.
Array ( [0] => widgets [1] => nav_menus )
- $that(WP_Customize_Manager)
- Экземпляр WP_Customize_Manager.
Примеры
#1 Удалим секции «виджеты» и «меню» из настройщика (Customizer).
## Удаляет секции «виджеты» и «меню» из настройщика (Customizer). add_filter( 'customize_loaded_components', 'remove_core_customizer_components' ); function remove_core_customizer_components( $components ){ foreach( [ 'nav_menus', 'widgets' ] as $key ){ $i = array_search( $key, $components ); if ( false !== $i ) unset( $components[ $i ] ); } return $components; }

Список изменений
С версии 4.4.0 | Введена. |
Где вызывается хук
customize_loaded_components
wp-includes/class-wp-customize-manager.php 352
$components = apply_filters( 'customize_loaded_components', $this->components, $this );