岐阜のホームページ制作|デザイン事務所 sober design

WordPressで個別投稿ページ毎に(single.php)ヘッダーを変える方法

wordpressカスタマイズの画像

今回は、特定のカテゴリにて個別投稿ページ毎にヘッダーを変更する解説をいたします


今回の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();
} ?>