WordPressで個別投稿ページ毎に(single.php)ヘッダーを変える方法
今回は、特定のカテゴリにて個別投稿ページ毎にヘッダーを変更する解説をいたします
今回のWordpressカスタマイズの流れ
(所要時間:5~15分)
- ① hedaer-〇〇〇〇.phpを作成する
- ② single.phpにてhedaer-〇〇〇〇.phpを読み込む
- ③ 反映されているか確認
WordPressは、header.phpでヘッダーが作られて、各phpファイルの<?php get_header(); ?>でヘッダーを呼び出しています。
① まずは、特定カテゴリ毎で呼び出される、hedaer-〇〇〇〇.phpを作成します。
今回はheader-sample.phpとします。
(〇〇〇〇には任意のファイル名をつくてください。)
↓
② hedaer-sample.phpを作成後に、個別投稿ページ(お知らせやブログの個別ページ)が作られているファイル、single.phpを変更していきます。
↓
③ single.phpを開くと一番上の箇所に、<?php get_header(); ?>があります。①で作ったhedaer-sample.phpを特定カテゴリで呼び出す為に、<?php get_header(); ?>を以下へ変更します。
変更前
<?php get_header(); ?>
↓
変更後
<?php if (in_category(array('変えたいカテゴリのスラッグ名' ))) {
get_header('sample');
}
else {
get_header();
} ?>
phpを書き換えたあとは、リロードで確認を行ってください。
ヘッダーを変えたい、特定カテゴリに紐づいている投稿個別ページのヘッダーが切り替わっています。
※複数の場合、条件分岐
ヘッダーは同じカテゴリが複数ある場合の条件分岐
<?php if (in_category(array('カテゴリ1' , 'カテゴリ2'))) {
get_header('sample');
}
else {
get_header();
} ?>
ヘッダーが複数、カテゴリが複数の条件分岐
<?php if (in_category(array('カテゴリ1'))) {
get_header(‘sample1);
}
else if (is_category(‘カテゴリ1‘)) {
get_header(‘sample2‘);
}
else {
get_header();
} ?>