- ベストアンサー
Wordpressで特定ページのheader変える
いつもお世話になっています。 今回は特定のページのみheader.phpを変えたいのですがどうすればいいでしょうか??header.phpを二つ作るはわかったのですが、そこからがわからないです。 single.phpとpage.phpを変えるだけでしたら、それぞれの読み込むheader.phpを変えれば終わりの話なのですが同じページ内の場合どうすればいいでしょうか・・・? 宜しくお願いします。
- みんなの回答 (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 文がわからないと言われるとどうしようもないですが・・・。
その他の回答 (3)
- pluto1234
- ベストアンサー率84% (11/13)
特定のページというのは、固定ページだろうという前提で書きました。ので、page.php で get_header(); のところを条件分岐すればOKです。 固定ページ以外のテンプレートでは、is_page(**) という判定はあまり意味がありません。single.php,archive.php,category.php 等では別の判断が必要です。
補足
なんどもすいません。phpはよくわからないのですが・・・ たとえばID:10だけheader-special.phpにしたい場合は、single.phpの<?php get_header(); ?>の部分をどうゆうふうに書き換えればいいのでしょうか??
- pluto1234
- ベストアンサー率84% (11/13)
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))
補足
回答ありがとうございます。 こちらはsingle.phpの<?php get_header(); ?>の部分にいれればいいんですか? どこにいれればいいのでしょうか??
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
>特定のページのみheader.phpを変えたい >同じページ内の場合どうすればいいでしょうか 矛盾してませんか?
お礼
すごいわかりやすい説明ありがとうございました!!
補足
うまくいきました!ありがとうございました!