質問: 動的サイドバーに何も表示されない 私はカスタムサイドバーを作り、色でフィルタを表示するために中にyith woocommerce ajax製品フィルタウィジェットを置いた。私は以下の手順を実行しました。 私のfunctions.phpに私はこのようにサイドバーを登録しました: add_action( 'widgets_init', 'my_register_sidebars' ); function my_register_sidebars() { /* register the 'primary' sidebar. */ register_sidebar( array( 'id' => 'primary', 'name' => __( 'primary sidebar' ), 'description' => __( 'a short description of the sidebar.' ), 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) ); } sidebar-primary.phpをこのようにしました。 <div id="sidebar-primary" class="sidebar"> <?php dynamic_sidebar( 'primary'); ?></div> サイドバーにウィジェットを追加 サイドバーの内容を表示する必要があるページには、次のようにsidebar-primary.phpを含めました。 <?php include('sidebar-primary.php'); ?> しかし何も見せていない。助言がありますか?気付かないうちに何か悪いことをしているのかもしれません。ありがとう。
回答: functions.phpファイルで、このような機能を追加せずにサイドバーを登録してみてくださいregister_sidebar(array( //try not to enclose this in function 'id' => 'primary', 'name' => 'primary sidebar', 'description' => 'a short description of the sidebar.', 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', )); そしてこのようにページに電話をかけます<?php get_sidebar('primary'); ?> そしてあなたのsidebar-primary.phpの中で、私はあなたがdivを閉じたと思います。あなたのコードでは、このファイルの閉じたdivを表示していません。 _アップデート_ 上記の方法を試して、functions.phpからsidebarのid nameを変更してくださいidとsidebar phpファイル(sidebar_primary.php)に同じ名前を使うことはできません。そのため、id名をfunctions.phpファイルとsidebar_primary.phpから変更する必要があります。好き<?php dynamic_sidebar( 'primary'); ?></div> 上記のコードでprimaryはidであり、名前を変更する必要があります。