Wordpress在single.php上显示默认图像

Wordpress在single.php上显示默认图像,php,wordpress,Php,Wordpress,我希望有人能帮我解决一个问题 我目前正在建立一个Wordpress网站,我正在整合posts部分。一切似乎都正常,当在帖子上使用特色图片时,它会在这里的缩略图中显示得很好:然后在单个帖子中显示得很好: 然而,在没有指定特色图片的帖子上,它似乎显示了默认图片 我的问题是,如何摆脱默认图像,如果没有特色图像,我希望它不显示任何东西 下面是我用来完成这一切的代码: <div class="container"> <div class="row"> <div c

我希望有人能帮我解决一个问题

我目前正在建立一个Wordpress网站,我正在整合posts部分。一切似乎都正常,当在帖子上使用特色图片时,它会在这里的缩略图中显示得很好:然后在单个帖子中显示得很好:

然而,在没有指定特色图片的帖子上,它似乎显示了默认图片

我的问题是,如何摆脱默认图像,如果没有特色图像,我希望它不显示任何东西

下面是我用来完成这一切的代码:

<div class="container">   
<div class="row">

  <div class="col-md-9">

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

      <div class="page-header">            

        <?php
          $thumbnail_id = get_post_thumbnail_id(); 
          $thumbnail_url = wp_get_attachment_image_src( $thumbnail_id, 'thumbnail-size', true );
          $thumbnail_meta = get_post_meta( $thumbnail_id, '_wp_attachment_image_alt', true);           
        ?>

        <p class="featured-image"><img src="<?php echo $thumbnail_url[0]; ?>" alt="<?php echo $thumbnail_meta; ?>"></p>


        <p><em>
          By <?php the_author(); ?> 
          on <?php echo the_time('l, F jS, Y');?>
          in <?php the_category( ', ' ); ?>.
          <a href="<?php comments_link(); ?>"><?php comments_number(); ?></a>
        </em></p>
      </div>

      <?php the_content(); ?>

      <hr>

      <?php comments_template(); ?>

    <?php endwhile; else: ?>

      <div class="page-header">
        <h1>Oh no!</h1>
      </div>

      <p>No content is appearing for this page!</p>

    <?php endif; ?>


  </div>

  <?php get_sidebar( 'blog' ); ?>

</div>
我肯定我错过了一些简单的东西,但我试着改变一些东西,我就是想不出来

任何帮助都将不胜感激

谢谢


Shaun

在输出之前,只需检查特征图像是否存在:

<?php
  if( has_post_thumbnail() ):
      $thumbnail_id = get_post_thumbnail_id(); 
      $thumbnail_url = wp_get_attachment_image_src( $thumbnail_id, 'thumbnail-size', true );
      $thumbnail_meta = get_post_meta( $thumbnail_id, '_wp_attachment_image_alt', true);?>

<p class="featured-image"><img src="<?php echo $thumbnail_url[0]; ?>" alt="<?php echo $thumbnail_meta; ?>"></p>
<?php endif;?>

“alt=”“>

  • 确保没有任何函数附加到
    post\u thumbnail\u html
    过滤器,查看
    函数.php
    (最好的选择是搜索整个
    wp content
    目录,应用
    *.php
    过滤器以减少结果集)

  • 确保你没有任何第三方插件可以在幕后完成这项工作,例如一个


  • 您可以尝试使用
    has\u post\u thumbnail()
    函数,并使用
    has\u post\u thumbnail()

    
    


    很有趣……您共享的代码中没有任何内容表明存在默认图像。您是否尝试在主题的源代码中搜索图像名称?您可能缺少负责此默认输出的缩略图过滤器。老实说,这是我第一次使用它!这就是为什么它没有意义……下面的家伙似乎有答案-我只是错过了if声明。这就是答案:)啊,太棒了!非常感谢-现在很有道理!:)我很高兴,不知道为什么有人否决了我的答案:(
    <?php
      if( has_post_thumbnail() ):
          $thumbnail_id = get_post_thumbnail_id(); 
          $thumbnail_url = wp_get_attachment_image_src( $thumbnail_id, 'thumbnail-size', true );
          $thumbnail_meta = get_post_meta( $thumbnail_id, '_wp_attachment_image_alt', true);?>
    
    <p class="featured-image"><img src="<?php echo $thumbnail_url[0]; ?>" alt="<?php echo $thumbnail_meta; ?>"></p>
    <?php endif;?>
    
    <?php if ( has_post_thumbnail()): // Check if thumbnail exists ?> 
        <p class="featured-image">       
            <?php the_post_thumbnail('post-thumbnails'); ?>
        </p>
    <?php endif; ?>