前提・実現したいこと
wordpressで独自テーマを作成中です。
現在メインループ処理でトップページに記事カード一覧を表示させようとしています。
しかし、アイキャッチ画像のみ正しく表示されないため困っています。
発生している問題
アイキャッチ画像が設定されている記事のみ、正しく表示されません。
アイキャッチ画像を設定していない記事では何事もなく表示されているという状態です。
該当のソースコード
PHP
1 2 <?php if(have_posts()): ?> 3 <?php while(have_posts()): 4 the_post();?> 5 <a href="<?php the_permalink(); ?>" class="content__card"> 6 7 <?php 8 if(has_post_thumbnail()){ 9 the_post_thumbnail( 'thumbnail', array('class' => 'content__card-img')); 10 }else{ 11 echo '<img src="' . esc_url(get_template_directory_uri()) . '/img/no-image.jpeg" alt="no-image" class="content__card-img">'; 12 } 13 ?> 14 15 <div class="content__card-description"> 16 <div class="content__card-meta"> 17 <div class="content__card-category"><?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->cat_name; } ?></div> 18 <time class="content__card-time" datetime="<?php the_time('c'); ?>"><?php the_time('Y-m-d'); ?></time> 19 </div> 20 <h2 class="content__card-h2"><?php the_title(); ?></h2> 21 <p class="content__card-excerpt-p"><?php the_excerpt(); ?></p> 22 </div> 23 </a> 24 25 <?php endwhile; ?> 26 <?php endif; ?>
試したこと
functions.phpに
add_filter( 'post_thumbnail_html', 'custom_attribute' );
function custom_attribute( $html ){
$html = preg_replace('/(width|height)="\d*"\s/', '', $html);
return $html;
}
でstyle属性のサイズ指定を削除しましたが、効果がありませんでした。
補足情報
必要情報は全てお伝えしたつもりですが、足りない情報があれば都度、お答えさせていただきます。
回答2件
あなたの回答
tips
プレビュー