ヘッダー(バナー)画像の自動化
-
いつもお世話になっております。
メニューバーの下に、ヘッダー(バナー)画像??を各メニュー(カテゴリー)項目ごとに変えたものを設置しています。
アイキャッチ画像が常にヘッダー部分に来るような設定を教えていただき、投稿する度にアイキャッチ画像を選び、公開している状態です。
これを投稿時にカテゴリーをチェックした際、「このカテゴリーはこの画像」「このカテゴリーだとこの画像」の様に固定ができないものでしょうか?
画像の幅や高さ、位置などは気に入っています。最終的な目的は、アイキャッチの画像を他の部分で使いたいと思っています。
説明が分かりずらいかも知れませんが、どうか教えてください。
よろしくお願いします。ヘルプの必要なページ: [リンクを見るにはログイン]
-
各投稿のヘッダー画像は、その投稿のアイキャッチを使い、カテゴリーアーカイブでは、カテゴリー別の画像を割り当てるということからでしょうか。アイキャッチを使うのをカテゴリーで振り分けるのなら、現在の条件分岐の対象を替えるだけではできませんか。
こちらのトピックのコードでしょうか?
<?php if ( has_post_thumbnail() ) : ?> <div class="inner-banner"><?php the_post_thumbnail( 'full' ); ?></div> <?php endif; ?>こちらのコードを下記のように変更するといいかと思います。
コードの $images_table はカテゴリー(スラッグ名)と画像(ID)のテーブルです。例:
<?php if ( is_single() ) { if ( $cats = get_the_category() ) { $cat = $cats[0]; $images_table = [ 'カテゴリーのスラッグ' => 123, 'カテゴリーのスラッグ' => 456, 'カテゴリーのスラッグ' => 789, ]; if ( isset( $images_table[$cat->slug] ) ) { $html = wp_get_attachment_image( $images_table[$cat->slug], 'full' ); echo "<div class='inner-banner'>{$html}</div>"; } } } ?>-
この返信は5年、 1ヶ月前に
Naoko Takanoが編集しました。
-
この返信は5年、 1ヶ月前に
ishitakaが編集しました。
天宮さま
お忙しい中、ご返信いただきありがとございます。投稿のアイキャッチを使うわけではなく、そのカテゴリーで投稿した場合には上部にその画像が自動的に配置されているみたいなイメージです。
伝わりずらくってすみません。
みなさんがどの様にされているのか?が分からず、その様に出来ればと思い質問してみました。ishitakaさま
いつもお付き合いいただき、本当にありがとうございます。
おっしゃる通り、そのトピックのコードです。教えていただいたコードと置き換えてみたのですが、いまいち表示されません。
こんな感じで入れました。<!--ヘッダー画像の固定--> <?php if ( is_single() ) { if ( $cats = get_the_category() ) { $cat = $cats[0]; $images_table = [ 'home' => eureka_home.png, 'about' => eureka_about.jpg, 'infomation' => photo_191022_16-e1571738553781.jpg, 'news' => photo_191022_02-e1571886043688.jpg, 'products' => photo_191022_09-e1571743292545.jpg, 'salon' => photo_191022_01-e1571743749981.jpg, 'price' => photo_191022_19-e1571742564336.jpg, 'staff' => photo_191022_15-e1571743627458.jpg, 'recruit' => photo_191022_16-1-e1571743517148.jpg, 'eureka_blog' => photo_191022_10-e1571907205860.jpg, 'eureka-beauty_blog' => photo_191022_08-1-e1571749088628.jpg, ]; if ( isset( $images_table[$cat->slug] ) ) { $html = wp_get_attachment_image( $images_table[$cat->slug], 'full' ); echo "<div class='inner-banner'>{$html}</div>"; } } } ?> <!--ヘッダー画像の固定-->お手数をお掛けしますが、もう少しお付き合いください。
$images_table の値は、ファイル名ではなく画像の ID (メディア ID) の数字で指定してください。
メディア ID の調べ方は、こちらの記事の「メディア ID の調べ方」セクションをご覧ください。ishitakaさま
丁寧にありがとうございます。
教えていただいたメディアIDを入れてみました。
やり方の問題だと思いますが、いまいちワークしませんでした。決して使い勝手が悪かったわけではないので、諦めた方が良いでしょうか?
最終的な目的は、他でもご相談いたしましたブログカードの為で、カードの画像はアイキャッチ画像が使われる仕様だった様なので、ならばバナー画像の方を変えてしまおうと考えたものでした。
ご提案いただいたメディアと文章も試してみたのですが、どうしてもブログカードを使ってみたかったという
のが正直なところでした。質問からズレてしまいましたが、よろしくお願いします。
<!--ヘッダー画像の固定--> <?php if ( is_single() ) { if ( $cats = get_the_category() ) { $cat = $cats[0]; $images_table = [ 'home' => 3534, 'about' => 322, 'infomation' => 318, 'news' => 306, 'products' => 312, 'salon' => 305, 'price' => 321, 'staff' => 317, 'recruit' => 350, 'eureka_blog' => 313, 'eureka-beauty_blog' => 349, ]; if ( isset( $images_table[$cat->slug] ) ) { $html = wp_get_attachment_image( $images_table[$cat->slug], 'full' ); echo "<div class='inner-banner'>{$html}</div>"; } } } ?> <!--ヘッダー画像の固定-->こんな感じで入れました。
これを投稿時にカテゴリーをチェックした際、「このカテゴリーはこの画像」「このカテゴリーだとこの画像」の様に固定ができないものでしょうか?
カテゴリー毎ですよね。
‘home’ や ‘about’ は投稿のスラッグではないですか?カテゴリーのスラッグ名を指定してください。 -
この返信は5年、 1ヶ月前に
トピック「ヘッダー(バナー)画像の自動化」には新たに返信することはできません。