web-dev-qa-db-ja.com

Customizrでは機能しないがAppearanceでは機能するウィジェット

ウィジェットに問題があります。ウィジェットエリアを正しく登録しました。ウィジェットが[外観]メニューに表示されているとき。しかし、WPのCustomizrセクションにウィジェットは表示されません。このエラーを取得する:

現在プレビューにレンダリングされているウィジェット領域はありません。ここでウィジェットにアクセスするためにウィジェットエリアを利用するテンプレートにプレビューでナビゲートしてください。

ここで述べた解決策を試してみました: テーマカスタマイザにウィジェットが表示されない そしてここ テーマカスタマイザにウィジェットセクションが表示されない しかし運が悪かった。

私のコードは:

register_sidebar(array(
            'name' => 'Sidebar Widgets',
            'id' => 'sidebar-widgets',
            'before_widget' => '<section class="widget">',
            'after_widget' => '</section>',
            'before_title' => '<h4>',
            'after_title' => '</h4>'
        ));

<?php if ( is_active_sidebar( 'sidebar-widgets' ) ) : ?>
        <?php dynamic_sidebar('sidebar-widgets'); ?>
        <?php endif; ?>

WordPressを起動する.

私は以下のことを試してみました。1.異なるテンプレート(ヘッダー、フロントページ、インデックス)でdynamic_sidebarを試しました。 2.異なるページへのナビゲートを試みましたが、運はありませんでした3.コンソールエラーはありませんでした4.異なるWordPressインストールでテーマを試しました、運がありません5.別のテーマを試し、ウィジェットが機能している

トラブルシューティングのためにこの質問に追加できる他のコードはありますか?

3
Hiriji

カスタマイザは、ページ上の存在を検出するためにサイドバーを「表示」する必要があります。サイドバーが「アクティブ」の場合にのみ表示されます。つまり、ウィジェットが含まれていない場合はサイドバーは表示されず、カスタマイザはそれを検出できません。

サイドバーの「アクティビティ」をチェックしないでください。display_sidebarは空のdivなどを出力する必要があります。そのため、ウィジェットが存在しない場合は、実行を妨げることには意味がありません。

2
Mark Kaplun