2026年5月20日

2026年5月20日

WordPressのブロックウィジェットをクラシックウィジェットに戻す方法

はじめに

WordPress 5.8以降、ウィジェット管理画面がブロックエディター対応に変わりました。従来のクラシックウィジェット画面に戻すには「Classic Widgetsプラグイン」を使うのが最も簡単です。PHPフィルターで無効化する方法もあります。

症状・原因

  • WordPress更新後にウィジェット管理画面がブロックエディターになった
  • 慣れ親しんだクラシックウィジェット画面を使いたい
  • ブロックウィジェットに対応していないウィジェットがある
  • テーマがブロックウィジェットに対応していない

解決手順

ステップ1:WordPress・テーマのバージョンを確認する

# WordPressのバージョンを確認
wp core version

# 現在のテーマを確認
wp theme list --status=active --format=table

# ブロックウィジェットが有効かどうか確認
wp eval "echo function_exists('wp_use_widgets_block_editor') ? 'ブロックウィジェット対応' : '非対応' . PHP_EOL;"

# 現在のウィジェット設定を確認
wp eval "
\$sidebars = get_option('sidebars_widgets');
foreach (\$sidebars as \$id => \$widgets) {
    if (is_array(\$widgets)) {
        echo \$id . ': ' . count(\$widgets) . '個' . PHP_EOL;
    }
}"

ステップ2:Classic Widgetsプラグインをインストールする

# Classic Widgetsプラグインをインストール・有効化
wp plugin install classic-widgets --activate

# 有効化を確認
wp plugin list | grep classic-widgets

# プラグイン情報を確認
wp plugin get classic-widgets --format=json

# ウィジェット管理画面にアクセス
# → 管理画面 → 外観 → ウィジェット → 従来の画面に戻る

ステップ3:PHPフィルターでブロックウィジェットを無効化する

// プラグインを使わない方法(子テーマのfunctions.phpに追加)

// 方法1: フィルターで無効化
add_filter('use_widgets_block_editor', '__return_false');

// 方法2: wp_use_widgets_block_editor フィルター(WordPress 5.8+)
add_filter('gutenberg_use_widgets_block_editor', '__return_false');

ステップ4:Gutenbergプラグインのウィジェット機能を無効化する

// Gutenbergプラグインが有効な場合、別途無効化が必要
add_filter('gutenberg_use_widgets_block_editor', '__return_false');

// または wp-config.php に定数を追加
// define('GUTENBERG_FORCE_CLASSIC_WIDGETS', true);

// 現在の設定を確認
wp eval "
echo 'use_widgets_block_editor フィルター: ';
echo apply_filters('use_widgets_block_editor', true) ? 'ブロック' : 'クラシック';
echo PHP_EOL;
"

ステップ5:ブロックウィジェットのデータをクラシック形式に移行する

# ブロックウィジェットの設定を確認
wp option get widget_block --format=json

# クラシックウィジェットに切り替え後、設定が保持されているか確認
wp widget list sidebar-1 --format=table

# ブロックウィジェットで設定した内容をテキストウィジェットに手動で移行
wp widget add text sidebar-1 1 \
    --title="お知らせ" \
    --text="ここに本文を入れる"

# 古いブロックウィジェットのデータを削除(移行完了後)
wp option delete widget_block

ステップ6:将来の対応を検討する

# Gutenbergのウィジェット対応状況を確認
wp eval "echo get_bloginfo('version') . PHP_EOL;"

# テーマのFSE対応を確認
wp eval "
\$theme = wp_get_theme();
echo 'FSE対応: ' . (\$theme->is_block_theme() ? 'はい' : 'いいえ') . PHP_EOL;
echo 'テーマ: ' . \$theme->get('Name') . PHP_EOL;
"

# FSEテーマへの移行を検討している場合
# → ウィジェットはブロックエディター(テンプレートエディター)で管理
# → classic-widgetsプラグインは将来的に非推奨になる可能性がある

注意事項

  • Classic Widgetsプラグインは公式サポートが2024年まで明言されていましたが、現在も継続してメンテナンスされています
  • FSE(フルサイト編集)対応テーマを使用している場合、ウィジェットエリアはブロックエディターのテンプレートで管理します
  • add_filter('use_widgets_block_editor', '__return_false') で無効化する場合、子テーマのfunctions.phpに記述してテーマ更新の影響を受けないようにしてください

まとめ

ブロックウィジェットをクラシックに戻すには wp plugin install classic-widgets --activate が最も簡単です。プラグインを使いたくない場合は add_filter('use_widgets_block_editor', '__return_false') を子テーマのfunctions.phpに追加します。

お気軽にご相談ください

お見積りへ お問い合わせへ