サポート » 使い方全般 » アイキャッチ画像の代替表示(カスタム投稿時)

  • いつも低レベルな質問で申し訳ないのですがカスタム投稿の記事一覧を出力している際にアイキャッチ表示は出来るのですが、アイキャッチが無い時の代替画像が表示されなくて困っています。

    下記のコードなのですが何か間違いがあるのでしょうか?

    <div class="contents-area04 row"> 
      <?php $args = array(
            'numberposts' =>8,                //表示(取得)する記事の数
            'post_type' => 'futsalteam'    //投稿タイプの指定
        );
        $customPosts = get_posts($args);
        if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post ); ?>
    
          <div class="col-md-3">
           <div class="ca04-box">       
    
    <?php if (has_post_thumbnail()) : ?>
    <?php the_post_thumbnail(); ?>
    <?php else: ?>
    <img alt="" src="<?php echo get_template_directory_uri(); ?>/images/no-photo/nophoto.jpg" />
    <?php endif; ?>
    
                <div class="ca04-caption"><a href="<?php the_permalink(); ?>"><h3><?php the_title(); ?></h3></a></div>
          </div>
          </div>
        <?php endforeach; ?>
        <?php else : //記事が無い場合 ?>
            <p>記事はまだありません。</p>
    		<?php endif;
        wp_reset_postdata(); //クエリのリセット ?>
    
    </div> <!--   contents-area04   -->

    色々とブログ等を調べて引っ張ってきました。
    ご教授いただければ幸いです。

12件の返信を表示中 - 1 - 12件目 (全12件中)
  • 画像が表示されないとは、具体的にはどうなるのでしょうか?
    なにも表示されないのか、リンク切れのブラウザが表示するアイコンとかが表示されるのでしょうか?

    ぱっと見たところ ソースはおかしくなさげですが・・・

    子テーマで get_template_directory_uri() を使うと親テーマのディクレトリを参照するので、もしかすると子テーマに置いた画像ファイルでしょうか。
    https://wpdocs.osdn.jp/関数リファレンス/get_template_directory_uri

    トピック投稿者 velfarre000

    (@velfarre000)

    状況としてはサムネイルがある記事の場合はサムネイルが出力されます。
    しかしサムネイルが設定してない記事の場合は画像が出力されず空白となっています。

    velfarre000さん
    「画像が出力されず空白となって」いるときの記事ページのHTMLソースには、具体的にどのようなHTMLタグが出力されていますか?(画像はimgタグで、そのsrc属性のURI)

    • この返信は7年、 8ヶ月前にgblsmが編集しました。
    トピック投稿者 velfarre000

    (@velfarre000)

    gblsmさん

    ソースはaタグが出力されていますがimgタグは出力されておらずaタグが空になっている状況です。

    <a></a> 

    違うボックスでは設定してある部分は普通にimgタグが出力されてサムネイルが表示されております。

    「カスタム投稿時」を見落としていました・・・

    以前、カスタム投稿タイプでサムネイルを表示しようとしたときに、has_post_thumbnailに$post->IDを渡してやらないと正しく判定できなかったので、
    if ( has_post_thumbnail($post->ID))
    とやってました。

    いま検証している時間がないので、やってみてダメだったらすいません。

    トピック投稿者 velfarre000

    (@velfarre000)

    munyaguさん

    今回の件、カスタム投稿なのですがサムネイルがあれば画像の出力できていて
    ただサムネイルが出力できても、画像がない時の代替画像が出ない状況でして・・・

    頂いたアドバイスを検証したいのですがどう書けば良いかがわかりません。
    お時間がある時に教えていただけないでしょうか?
    お手数おかけします。

    <?php if (has_post_thumbnail()) : ?>
    この箇所を
    <?php if (has_post_thumbnail($post->ID)) : ?>
    こうです。

    munyaguさんが提案された方法で解決すれば、もうコメントすることはないのですが…

    「img タグは出力されておらず <a> タグが空になっている」状況は、最初の php ソースからは出てこないように見えます。
    the_post_thumbnail() は <a> タグを出力しないはずですし、<a>タグが出るのは <div class="ca04-caption"> だけだと思うので。

    トピック投稿者 velfarre000

    (@velfarre000)

    munyaguさん gblsmさん

    教えていただいた記述で表示させることができました!!!
    ありがとうございました!

    aタグはテーマで設定されていたみたいです。
    クラスとかを端折ってしまったので混乱させてしまって申し訳ございませんでした。

    本当に助かりました!

12件の返信を表示中 - 1 - 12件目 (全12件中)
  • トピック「アイキャッチ画像の代替表示(カスタム投稿時)」には新たに返信することはできません。