###前提
現在wordpressのテーマ「J STORK」を利用しています。
初心者のため自分でコードを作成したり、
設置する場所がわからないのでご教授いただきたいと思います。
###実現したいこと
新規一覧に表示される「アイチャッチ画像」を
カテゴリー別に違う画像を自動表示されるように設定したい。
自分なりにコードを変更して追記してみましたが
表示に変わりありませんでした。
私の記事は全国で開催されるレースの予定を紹介するものなので
カテゴリーは地域別として
画像を変えたいと考えています。
追記:記事にアイキャッチが登録されている場合は記事に登録されているほうの画像を優先に表示したいです。
###追記、変更したいページのコード
テーマJStorkで新規一覧の画像の指示をしているコードはこちらです。
ファイル場所:parts_archive_card.php
parts_archive_card.php
1 2<div class="post-list-card cf"> 3 4<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 5 6<article <?php post_class('post-list cf animated fadeIn'); ?> role="article"> 7<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"> 8 9<?php 10$cat = get_the_category(); 11$cat = $cat[0]; 12?> 13 14<?php if ( has_post_thumbnail()) : ?> 15<figure class="eyecatch"> 16<?php the_post_thumbnail('home-thum'); ?> 17<span class="cat-name cat-id-<?php echo $cat->cat_ID;?>"><?php echo $cat->name; ?></span> 18</figure> 19<?php else: ?> 20<figure class="eyecatch noimg"> 21<img src="<?php echo get_theme_file_uri('/library/images/noimg.png'); ?>"> 22<span class="cat-name cat-id-<?php echo $cat->cat_ID;?>"><?php echo $cat->name; ?></span> 23</figure> 24<?php endif; ?> 25 26<section class="entry-content cf"> 27<h1 class="h2 entry-title"><?php the_title(); ?></h1> 28 29<p class="byline entry-meta vcard"> 30<span class="date gf updated"><?php the_time('Y.m.d'); ?></span> 31<span class="writer name author"><span class="fn"><?php the_author(); ?></span></span> 32</p> 33 34<div class="description"><?php the_excerpt(); ?></div> 35 36</section> 37</a> 38</article> 39 40<?php endwhile; ?> 41 42 43<?php elseif(is_search()): ?> 44<article id="post-not-found" class="hentry cf"> 45<header class="article-header"> 46<h1>記事が見つかりませんでした。</h1> 47</header> 48 49<section class="entry-content"> 50 51<p>お探しのキーワードで記事が見つかりませんでした。別のキーワードで再度お探しいただくか、カテゴリ一覧からお探し下さい。</p> 52 53<div class="search"> 54<h2>キーワード検索</h2> 55<?php get_search_form(); ?> 56</div> 57 58 59<div class="cat-list cf"> 60<h2>カテゴリーから探す</h2> 61<ul> 62<?php $args = array( 63'title_li' => '', 64); ?> 65<?php wp_list_categories($args); ?> 66</ul> 67</div> 68 69</section> 70 71</article> 72 73<?php else : ?> 74 75<article id="post-not-found" class="hentry cf"> 76<header class="article-header"> 77<h1>まだ投稿がありません!</h1> 78</header> 79<section class="entry-content"> 80<p>表示する記事がまだありません。</p> 81</section> 82</article> 83 84<?php endif; ?> 85</div> 86 87
追記してみたコード
カテゴリー別に違う画像を表示する方法を検索していたところ、
説明してくれている方がいたので参考に使用させてもらいました。
参考URL:http://ruh.sunnyday.jp/archives/507
説明のコードはこちら
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php if (has_post_thumbnail()): ?> <?php the_post_thumbnail( array(横幅,高さ) ); ?> //アイキャッチ指定時の画像 <?php elseif(in_category('カテゴリ1のスラッグ')): ?><img src="カテゴリ1用アイキャッチ画像" /> <?php elseif(in_category('カテゴリ2のスラッグ')): ?><img src="カテゴリ2用アイキャッチ画像" /> <?php elseif(in_category('カテゴリ3のスラッグ')): ?><img src="カテゴリ3用アイキャッチ画像" /> <?php else: ?><img src="カテゴリ「未設定」用アイキャッチ画像" /><?php endif; ?> <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> <?php the_content(); ?> <?php endwhile; ?>
###追記してみたコード
画像のみ変更したかったので
<?php if (has_post_thumbnail()): ?> <?php the_post_thumbnail( array(横幅,高さ) ); ?> //アイキャッチ指定時の画像 <?php elseif(in_category('カテゴリ1のスラッグ')): ?><img src="カテゴリ1用アイキャッチ画像" />
画像をカテゴリー別に指示するコードと思われる
ところのみを使用してみました。
変更後のコード
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> <article <?php post_class('post-list cf animated fadeIn'); ?> role="article"> <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"> <?php $cat = get_the_category(); $cat = $cat[0]; ?> <figure class="eyecatch"> //カテゴリー別のアイキャッチ参考コード:http://ruh.sunnyday.jp/archives/507 memo重複しているためオリジナルの <?php if ( has_post_thumbnail()) : ?>とを一行消した。 // <?php if (has_post_thumbnail()): ?> <?php elseif(in_category('hokkaido')): ?><img src="https://runbike.net/wp-content/uploads/2018/04/b92efca0590affe217ee7b6eae80a176-e1524543926325.jpg" /> <?php else: ?><img src="カテゴリ「未設定」用アイキャッチ画像" /><?php endif; ?> //ここまで// <?php the_post_thumbnail('home-thum'); ?> <span class="cat-name cat-id-<?php echo $cat->cat_ID;?>"><?php echo $cat->name; ?></span> </figure> <?php else: ?> <figure class="eyecatch noimg"> <img src="<?php echo get_theme_file_uri('/library/images/noimg.png'); ?>"> <span class="cat-name cat-id-<?php echo $cat->cat_ID;?>"><?php echo $cat->name; ?></span> </figure> <?php endif; ?>
###結果
試しに北海道のカテゴリーで表示を試みてみましたが
変わりなく、オリジナルで設定されている、
「noimg.png」の画像が表示されていました。
コード内の「figure class」あたりで変更、追記が
必要なのかなとは想像しているのですが
どうしたらいいのかは、わかりません。
記事はカスタム投稿タイプで作成したものばかりなので
そこも原因なのかなと推測しています。
最後に
質問もうまく伝えられているか自信がありませんが
どうか、このコードでわかる方回答をどうぞよろしくお願いいたします。