WordPressカスタマイズまとめ

固定ページと個別ページでサイドバーを使い分ける方法

今回は固定ページと個別ページで違うサイドバーを使う方法を紹介します。例えばこのブログのようにTwentyTwelveのテーマを使っている場合にはWordPressの「外観」⇒「ウィジェット」と進むとサイドバーが3つ程設定できるようになっていますよね。

サイドバー-1

普通はこの「メインサイドバー」を利用してサイドバーを表示しますが、固定ページと個別ページではサイドバーの内容を変えたいという場合、例えばアドセンス広告の貼り付けを固定ページと個別ページで分けたいという場合とかね。

まあ、色々使える場面があるかも知れませんので解説していきます。

子テーマに「sidebar-2.php」を作成する

まずは2つ目のサイドバーを使えるようにしておきましょう。ロリポップの場合で説明するとロリポップFTPで「wp-content」⇒「themes」⇒「child(私の場合の子テーマ)」と進み、この中にファイルを作成します。

サイドバー-2

ファイルを作成したら「sidebar-2.php」という名前だけ付けて「保存」しておきます。内容は後で記述します。

サイドバー-3

名前を付けて「保存」できたらロリポップでの作業は終了です。

新しいサイドバーを使えるようにする

それではWordPressに戻って、WordPressの管理画面から「外観」⇒「テーマの編集」をクリック。すると画面右に先ほど作成した「sidebar-2.php」というファイルが表示されている事を確認して下さい。

サイドバー-4

これは開かずにおいておき、まずは普通の「サイドバー (sidebar.php)」を開きます。子テーマに「サイドバー (sidebar.php)」がない場合は子テーマに追加するか親テーマ「(私の場合は)TwentyTwelve」を選択して「サイドバー (sidebar.php)」を探します。

サイドバー-5

親テーマの「サイドバー (sidebar.php)」を見つけたら内容を全部コピーして再び子テーマに戻ります。

それではコピーした「サイドバー (sidebar.php)」の記述を先ほど作成した「sidebar-2.php」に貼り付けします。この中にはこのような記述があると思います

<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
<div id="secondary" class="widget-area" role="complementary">
<?php dynamic_sidebar( 'sidebar-1' ); ?>
</div><!-- #secondary -->
<?php endif; ?>

「sidebar-2.php」ではここの「’sidebar-1′ 」という記述を「’sidebar-2′ 」と書き換えて下さい(2箇所)。これで準備は完了です。「sidebar-2.php」はこんな感じになっていますね。

サイドバー-6

固定ページにはサイドバー2を使ってみる

では実際に固定ページでは新しく作成したサイドバー2を利用してみましょう。まずはウェイジェットを追加しておきましょう。今度は「メインサイドバー」ではなくて「フロントページウェイジェットエリア(TwentyTwelveの場合)」というのを開いて使いたいウィジェットを追加。

サイドバー-7

ウィジェットを追加したら「外観」⇒「テーマの編集」をクリックして「固定ページテンプレート (page.php)」を開きます。子テーマに固定ページテンプレートが無いという場合は子テーマに追加しておきましょう。

固定ページテンプレートの一番最後の部分にこのような記述があります。

<?php get_sidebar(); ?>
<?php get_footer(); ?>

ここの「sidebar()」という部分の()の中に「”2″」を入れます。半角です。

<?php get_sidebar("2"); ?>
<?php get_footer(); ?>

つまりこれで固定ページでは「サイドバー2」を呼び出してねって事になります。後は保存をして終了です。

上手くできない場合は数字が全角になっていないか確認してみて下さいね。