子テーマで Sidebar Template の追加
-
Twenty Eleven を元に子テーマを作成しています。
サイドバーテンプレートを新しく追加したいのですがどうもうまくいきません。
構造を理解していないためちょっとつまずいています。やりたいことは、子テーマに新しいSidebar Templateを作成し、
特定のサイドバーにだけ、カレンダーウィジェットを表示させるということです。
直接 <?php get_calendar(); ?> を呼び出して表示させることも可能なのは承知していますが、
今回「営業日カレンダー ウィジェット」というウィジェットを利用したいのです。自分でやってみた手順は
1: 親テーマから「sidebar-page.php」「sidebar.php」の2つのファイルを子テーマにコピー
2: 「sidebar-page.php」のファイル名を「sidebar-page2.php」に変更
3: テンプレートネームを「Template Name: Sidebar Template 2」に変更
4: 「sidebar.php」を「sidebar2.php」に変更
5: 「sidebar-page2.php」の25行目を<?php get_sidebar(2); ?>に変更
6: 親テーマfunctions.phpの中にあるregister_sidebarに新しく「Cal-Sidebar」を作成しidをsidebar-6とする。
7: 「sidebar-page2.php」の16行目を<?php if ( ! dynamic_sidebar( ‘sidebar-6’ ) ) : ?>に変更以上のことをしてからダッシュボードに入ると
ウィジェットの管理画面に新しく「Cal-Sidebar」が追加され
カレンダーウェジェットを追加でしました。が、
サイドバーは表示されてカレンダーも追加されているのですが、
レイアウトがおかしいのです。
メインコンテンツがシングルページ用にセンタリングされていて、
その後ろに(メインコンテンツに隠れるように)サイドバーが表示されてしまいます。上記設定以外で何かし忘れていることがありましたら教えていただけないでしょうか?
あと、親テーマにあるfunctions.phpのウィジェット設定に
以下を追加して「Cal-Sidebar」というエリアを表示しているのですが
このウィジェットの設定変更は子テーマのみでは不可能なのでしょうか?
出来れば親テーマは変更せず子テーマだけで完結したいので。register_sidebar( array( 'name' => __( 'Cal-Sidebar', 'twentyeleven' ), 'id' => 'sidebar-6', 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 'after_widget' => "</aside>", 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>', ) );
- トピック「子テーマで Sidebar Template の追加」には新たに返信することはできません。