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 359
$components = apply_filters( 'customize_loaded_components', $this->components, $this );