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

时间:2016-01-13 14:31:48

标签: php wordpress

我希望有人可以帮助解决我遇到的问题......

我正在构建一个Wordpress网站,我正在整理帖子部分。一切似乎还可以,当在帖子上使用精选图片时,它会在缩略图中显示:http://5.10.105.45/~learningforsusta/index.php/education-for-sustainable-development/然后很好地在这里的单个帖子中显示:http://5.10.105.45/~learningforsusta/index.php/efsc-post/example-post-1/

但是,在没有指定精选图片的帖子上,它似乎显示默认图片......

我的问题是,如何摆脱默认图片,如果没有精选图片,我希望它不显示任何内容......

以下是我用来完成全部操作的代码:

<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>

这里是来自functions.php文件的与缩略图相关的代码......

add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size(150, 120, true);

我确定我错过了一些简单的东西,但我已经尝试过改变一些事情而我无法理解它!

非常感谢任何帮助......

谢谢,

肖恩

3 个答案:

答案 0 :(得分:0)

  1. 请确保您没有附加到post_thumbnail_html过滤器的任何功能,请查看您的functions.php(最佳选择是搜索整个wp-content } directory,apply *.php filter以减少结果集)

  2. 确保您没有可以在幕后执行此操作的任何第三方插件,例如this一个。

答案 1 :(得分:0)

您可以尝试使用has_post_thumbnail()功能并使用the_post_thumbnail()

进行显示
<?php if ( has_post_thumbnail()): // Check if thumbnail exists ?> 
    <p class="featured-image">       
        <?php the_post_thumbnail('post-thumbnails'); ?>
    </p>
<?php endif; ?>

答案 2 :(得分:-1)

在输出之前检查特色图像是否存在:

<?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;?>