記事ごとに違うサイドバーを読込む。

※アクセスログの検索キーワードを参考に記事

WordPressサイトで、特定の記事ごとorカテゴリごとに違うサイドバーを読込む。

例)
会社概要のページ…記事IDが「1」とする
製品案内のページ…記事IDが「2」とする
 → sidebar-page.php
スタッフブログ(カテゴリ)…カテゴリIDが「3」とする
 → sidebar-blog.php
その他
 → sidebar.php

以上のように記事やカテゴリ毎に別のサイドバーを表示させるには?
 
※あらかじめ上記ファイル名でそれぞれのサイドバーを作っておく。

■対象テンプレート:
index.php
single.php
page.php


■方法:
デフォルトテーマのテンプレートの場合、最後のほうにある
<?php get_sidebar(); ?>

を下記のように修正
<?php
if($post->ID == '1' || $post->ID == '2') {
 include('sidebar-page.php');
} elseif($cat == '3') {
 include('sidebar-blog.php');
} else {
 get_sidebar(); ※sidebar.phpが読込まれます
}
?>


わかりやすくするために単純に書きましたが、is_single()やis_page()などコンディショナルタグも併用しないと思わぬ結果になることがあると思います。工夫してみてください。

■補足:
sidebar-page.phpの中でさらに「会社概要」と「製品案内」でサイドバーの内容を変えるには、コンディショナルを使って同様に分岐処理。
<?php
if($post->ID == '1') {?>
−−−HTMLやPHP−−−
<?php } elseif($post->ID == '2') {?>
−−−HTMLやPHP−−−
<?php } else {?>
−−−空欄など−−−
<?php }
?>


また記事IDの代わりに記事スラッグを使って判断させても良いと思います。
<?php
if($post->post_name == 'profile') {?>
(以下同様)


以上

↑ PageTop

この記事へのコメント
コメントを書く
name

mail

url

comment

認証コード: *


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。