固定ページ用のテンプレートを何種類か作成して、そのテンプレートごとにサイドバーのウィジェットを変更する方法をまとめます。

手順としては、

  1. テンプレートファイルを作成する
  2. ウィジェット設置エリアを追加する
  3. 作成したテンプレート用のサイドバーファイルを作成する
  4. 作成したテンプレートからサイドバーを読み込む

という順番になります。

(1) テンプレートファイルを作成する

page.phpをベースに、ファイル名を”page_xxxx.php”のように適当につけて保存します。

作成したファイルの先頭に以下の様なコメントを入れると、テンプレートとして認識されます。

/*
Template Name: (ここにテンプレート名)
*/

”(ここにテンプレート名)”の部分が固定ページ編集画面の”テンプレート”に選択肢として表示されます。

(2) ウィジェット設置エリアを追加する

テンプレートごとのウィジェットエリアを追加する(サイドバー)

”theme-functions.php”などファイルを編集します。(テーマによってファイル名が違うがキーワードは”function”です。)

”register_sidebar”で、ウィジェットの設定エリアが登録されていますので、記述を習って追加します。

”register_sidebar”で始まる箇所を探して、その箇所をコピペして作ります。

”id”は変更してください。

register_sidebar( array(
	'name'          => __(‘Sidebar’, ‘themify’),
	'id'            => 'sidebar-main',
	'before_widget' => '',
	'after_widget'  => '',
	'before_title'  => '',
	'after_title'   => '',
) );

 

(3) 作成したテンプレート用のサイドバーファイルを作成する

”sidebar.php”というファイルを”sidebar-xxxx.php”などのように適当に名前を変えて保存します。

ファイル中の”dynamic_sidebar”の箇所を、(2)の”register_sidebar”で追加した”id”に書き換えます。

dynamic_sidebar(‘sidebar-xxxxxxx’)

(4) 作成したテンプレートからサイドバーを読み込む

(1)でつくったテンプレートファイル(sidebar-xxxx.php)ごとに(3)で作ったサイドバーを読み込みます。

”get_sidebar”の箇所で引数を設定しますが、引数は、(3)で作ったファイル名の後半”xxxx”だけです。

get_sidebar(‘xxxx’)

 

 

参考URL

http://www.kitaguchi.jp/wordpress-setting/1877.html