カスタム投稿のページにサイドバーを切り替えたいができません。
2カラムのブログテンプレートを使用しています。
カスタム投稿「memorandum」を作成しました。
「memorandum」のページのサイドバーをデフォルト投稿ページのサイドバーではなく自作のサイドバー「memorandum-sidebar」にしたいですが出来ませんでした。
何が問題なのか教えていただけますでしょうか。
function.php:
PHP
1function my_theme_widgets_init() { 2 register_sidebar( array( 3 'name' => 'mamorandum-sidebar', 4 'id' => 'sidebar-2', 5 ) ); 6} 7add_action( 'widgets_init', 'my_theme_widgets_init' );
single-memorandum.php(single.phpからコピーペーストし、コメントアウトの行のみ変更):
PHP
1<?php 2/** 3 * The template for displaying all single posts. 4 * 5 * @package Nisarg 6 */ 7 8get_header(); ?> 9 10 <div class="container"> 11 <div class="row"> 12 <div id="primary" class="col-md-9 content-area"> 13 <main id="main" role="main"> 14 15 <?php while ( have_posts() ) : the_post(); ?> 16 <?php get_template_part( 'template-parts/content',get_post_format() ); ?> 17 </main><!-- #main --> 18 <div class="post-navigation"> 19 <?php nisarg_post_navigation(); ?> 20 </div> 21 <div class="post-comments"> 22 <?php 23 // If comments are open or we have at least one comment, load up the comment template. 24 if ( comments_open() || get_comments_number() ) : 25 comments_template(); 26 endif; 27 28 if ( ! comments_open() ) { 29 esc_html_e( 'Comments are closed.', 'nisarg' ); 30 } 31 ?> 32 </div> 33 <?php endwhile; // End of the loop. ?> 34 </div><!-- #primary --> 35 <?php get_sidebar( 'sidebar-2' ); ?> <!-- sidebar-1からsidebar-2に変更 --> 36 </div> <!--.row--> 37 </div><!--.container--> 38 <?php get_footer(); ?>
sidebar-memorandum.php(sidebar.phpからコピーペーストし、コメントアウトの行のみ変更):
PHP
1<?php 2/** 3 * The sidebar containing the main widget area. 4 * 5 * @package Nisarg 6 */ 7?> 8<div id="secondary" class="col-md-3 sidebar widget-area" role="complementary"> 9 <?php do_action( 'before_sidebar' ); ?> 10 <?php if ( ! dynamic_sidebar( 'sidebar-2' ) ) : ?> <!-- sidebar-1からsidebar-2に変更 --> 11 <aside id="search" class="widget widget_search"> 12 <?php get_search_form(); ?> 13 </aside> 14 <aside id="archives" class="widget"> 15 <h3 class="widget-title"><?php esc_html_e( 'Archives', 'nisarg' ); ?></h3> 16 <ul> 17 <?php wp_get_archives( array( 'type' => 'monthly' ) ); ?> 18 </ul> 19 </aside> 20 <aside id="meta" class="widget"> 21 <h3 class="widget-title"><?php esc_html_e( 'Meta', 'nisarg' ); ?></h3> 22 <ul> 23 <?php wp_register(); ?> 24 <li><?php wp_loginout(); ?></li> 25 <?php wp_meta(); ?> 26 </ul> 27 </aside> 28 <?php endif; // end sidebar widget area ?> 29</div><!-- #secondary .widget-area -->
なおsidebar.php内でdynamic_sidebar('sidebar-2')とすると「memorandum-sidebar」サイドバーを表示することができました。
何らかの理由でsidebar-memorandum.phpファイルが読み込まれていないと考えられます。
回答1件
あなたの回答
tips
プレビュー