ウィジェットを追加する

特定の固定ページに違うウィジェットを使いたい、とか色々出し分けたいときあると思います。
そういう時には新しくウィジェットを追加します。

いじるもの

  • function.php
  • sidebar.phpをコピーしたsidebar-任意の英数字.php

sidebar.php

<?if ( ! is_active_sidebar( '任意の英数字A' ) ) {
return;
}?>
<aside id="secondary" class="widget-area" role="complementary">
<?php dynamic_sidebar( '任意の英数字A' ); ?>
</aside><!-- #secondary -->

これらは例だから、全然違う形で書いてあったりするけど、とりあえずdynamic_sidebarとかactive_sidebarの中に任意の文字入れておけばオッケー

function.php

register_sidebar( array(
'name' => __( 'ウィジェット編集画面上での見出し', '親テーマ名' ),
'id' => '任意の英数字A',
'description' => __( 'ウィジェット編集画面上でのウィジェットの説明', '親テーマ名' ),
'before_title' => '<div class="ttl">',
'after_title' => '</div>',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>'
) );

ちょっと説明>
before_titleとafter_title:ウィジェットの出力されるタイトルのタグ
こんな感じで出る。

<div class="ttl">ウィジェットのタイトル</div>

before_widgetとafter_widget:ウィジェットの大きい固まりではなくその中のパーツパーツを包むdivの記述ぽい。
変数は謎。とりあえず親テーマのregister_sidebar見とけばなんとかなるぞ。
テーマ作った人は偉大。

大事なこと
idはsidebar.phpで設定した名前にしておくこと!

そしたらpage.phpとかサイドバーを取得しているテンプレートファイルの以下の箇所を変更する。

<?php get_sidebar("任意の英数字"); ?>

これは、コピーしたsidebar.phpにつけた名前を入れる。

こんな感じです。

ついでに、固定ページとか投稿ページとかでこのスラッグ名の固定ページだけ今回作ったサイドバーを出したいとか、このカテゴリーのアーカイブページだけこのサイドバーを出したいとかその色々はここから。

(っ’ヮ’c)<おつかれ