WordPressカスタマイザからメニューを削除しようとしました(画像を参照)
Functions.phpファイルで次のコードを試してみたところ、メニュー以外のすべてのセクションが削除されました
//Theme customizer
function mytheme_customize_register( $wp_customize ) {
//All our sections, settings, and controls will be added here
$wp_customize->remove_section( 'title_tagline');
$wp_customize->remove_section( 'colors');
$wp_customize->remove_section( 'header_image');
$wp_customize->remove_section( 'background_image');
$wp_customize->remove_section( 'menus');
$wp_customize->remove_section( 'static_front_page');
$wp_customize->remove_section( 'custom_css');
}
add_action( 'customize_register', 'mytheme_customize_register' );
私も試した
$wp_customize->remove_panel( 'menus');
しかし、うまくいきませんでした私はここに何かが足りないのです。
メニュー の代わりに nav_menus をremove_panel()
で試してください。
function mytheme_customize_register( $wp_customize ) {
//All our sections, settings, and controls will be added here
$wp_customize->remove_section( 'title_tagline');
$wp_customize->remove_section( 'colors');
$wp_customize->remove_section( 'header_image');
$wp_customize->remove_section( 'background_image');
$wp_customize->remove_panel( 'nav_menus');
$wp_customize->remove_section( 'static_front_page');
$wp_customize->remove_section( 'custom_css');
}
add_action( 'customize_register', 'mytheme_customize_register',50 );
これがお役に立てば幸いです。
ありがとうございました!
カスタマイザでナビゲーションメニューを無効にする正しい方法は、 hookのリファレンスページ に記載されているようにcustomize_loaded_components
フィルタを使用することです。
/**
* Removes the core 'Menus' panel from the Customizer.
*
* @param array $components Core Customizer components list.
* @return array (Maybe) modified components list.
*/
function wpdocs_remove_nav_menus_panel( $components ) {
$i = array_search( 'nav_menus', $components );
if ( false !== $i ) {
unset( $components[ $i ] );
}
return $components;
}
add_filter( 'customize_loaded_components', 'wpdocs_remove_nav_menus_panel' );
重要: テーマのsetup_theme
がロードされる直前に起動するfunctions.php
アクションの前に追加する必要があるため、このフィルターはプラグインに追加する必要があります。
詳しくは、以下のTracチケットを参照してください。
関連するメモとして、自分だけの項目を追加できるようにカスタマイザを空白の状態にリセットするコードについては、 カスタマイザを空白の状態にリセットする を参照してください。