• ベストアンサー

Wordpressで特定ページのheader変える

いつもお世話になっています。 今回は特定のページのみheader.phpを変えたいのですがどうすればいいでしょうか??header.phpを二つ作るはわかったのですが、そこからがわからないです。 single.phpとpage.phpを変えるだけでしたら、それぞれの読み込むheader.phpを変えれば終わりの話なのですが同じページ内の場合どうすればいいでしょうか・・・? 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • pluto1234
  • ベストアンサー率84% (11/13)
回答No.4

ID:10 が投稿のIDだとすると、 <?php get_header(); ?> ↓ ↓ ↓ ↓ <?php if (is_single('10') ) { get_header('special'); // header-special.php を取り込む } else { get_header(); // header.php を取り込む } ?> Codex の「条件分岐タグ」などを参照すると理解が深まります。 その前に、if 文がわからないと言われるとどうしようもないですが・・・。

参考URL:
http://wpdocs.sourceforge.jp/条件分岐タグ
01mk
質問者

お礼

すごいわかりやすい説明ありがとうございました!!

01mk
質問者

補足

うまくいきました!ありがとうございました!

その他の回答 (3)

  • pluto1234
  • ベストアンサー率84% (11/13)
回答No.3

特定のページというのは、固定ページだろうという前提で書きました。ので、page.php で get_header(); のところを条件分岐すればOKです。 固定ページ以外のテンプレートでは、is_page(**) という判定はあまり意味がありません。single.php,archive.php,category.php 等では別の判断が必要です。

01mk
質問者

補足

なんどもすいません。phpはよくわからないのですが・・・ たとえばID:10だけheader-special.phpにしたい場合は、single.phpの<?php get_header(); ?>の部分をどうゆうふうに書き換えればいいのでしょうか??

  • pluto1234
  • ベストアンサー率84% (11/13)
回答No.2

if (is_page(10)){ get_header('special'); } else { get_header(); } 特別なページのID =10 特別なページのヘッダ header-special.php とします。 特別なページが複数ある場合は、 if (is_page(10) || is_page(20) || is_page(30))

01mk
質問者

補足

回答ありがとうございます。 こちらはsingle.phpの<?php get_header(); ?>の部分にいれればいいんですか? どこにいれればいいのでしょうか??

回答No.1

>特定のページのみheader.phpを変えたい >同じページ内の場合どうすればいいでしょうか 矛盾してませんか?

関連するQ&A