完成イメージ

実装手順
以下のコードをfunctions.phpに追加します。
add_action('customize_register', function ($wp_customize) {
$wp_customize->remove_section("title_tagline"); // サイト基本情報
$wp_customize->remove_section("background_image"); // 背景画像
$wp_customize->remove_section("static_front_page"); // ホームページ設定
$wp_customize->remove_section("custom_css"); // 追加CSS
});
注意点
メニューとウィジェットを削除する方法として、以下のコードを紹介しているサイトがあります。
add_action('customize_register', function ($wp_customize) {
$wp_customize->remove_panel('nav_menus'); // メニュー
$wp_customize->remove_panel('widgets'); // ウィジェット
});
このコードでは以下の警告が表示されます。
Notice: 関数 WP_Customize_Manager::remove_panel が誤って呼び出されました。widgets を手動で削除すると PHP の警告を引き起こす可能性があります。代わりに customize_loaded_components フィルターを使用してください。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 4.5.0 で追加されました) in /virtual/exampley/public_html/wp-includes/functions.php on line 6121
このため、WordPress公式サイトで紹介されているcustomize_loaded_componentsを使用する方法では、削除できませんでした(2025年10月7日時点)。
そこで、CSSを用いてメニューやウィジェットを非表示にします。
他のメニューもcustomize_registerを使うのではなく、CSSで統一した方が管理しやすいと考えられます。
add_action('customize_controls_print_styles', function () {
?>
<style>
#accordion-panel-widgets,
#accordion-panel-nav_menus {
display: none !important;
}
</style>
<?php
});
さいごに
今回紹介した方法を使えば、のカスタマイザーで不要なメニューやウィジェットパネルを簡単に非表示にできます。
PHPの警告やエラーを回避しつつ、CSSによる統一管理で将来的なメンテナンスも容易になります。
複雑なフックやパネル削除の処理に悩む必要がなく、管理画面をすっきり整理可能です


