WordPress如果声明功能图像

时间:2015-02-22 19:58:47

标签: wordpress image if-statement statements featured

我想要实现的是针对尚未设置精选图片以使用默认CSS背景图片的帖子。这意味着每个帖子都会有一张图片。

<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID, 'thumbnail') ); ?>
 <div class="entry-header featureImg" style="background-image: url('<?php echo $url ?>')"></div>

基本上就是这样:

<div class="entry-header featureImg" style="background-image: url('<?php echo $url ?>')">

对于没有精选图片的帖子设置了&#39; background-image&#39;应该是CSS中的默认值,因为代码实际上是为这些帖子编写的bg图像(whitout专业图像集)是:

background-image: url(''); //taken from page source

这应该用php if语句完成,但我不知道如何使用这种语法:

`<?php if($has_post_thumbnail) : ?>

  <?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID,'thumbnail') ); ?>
<div class="entry-header featureImg" style="background-image: url('<?php echo $url ?>')">

<?php else : ?>

    <div class="entry-header featureImg">

<?php endif; ?>
?>`

1 个答案:

答案 0 :(得分:0)

在这种情况下,您只需要使用if语句来判断是否显示整个样式标记。将这些类型的东西添加到functions.php文件中更加清晰,尽管如此,如果你在那里添加它:

function alternative_bg_img() {
  global $post;
  if (has_post_thumbnail()) {
    var $image = wp_get_attachment_url( get_post_thumbnail_id( $post->ID, 'thumbnail ') );
    echo 'style="background-image:url(' + $image + ');';
  }
}

然后添加:

<div class="entry-header featureImg" <?php alternative_bg_img(); ?>>

然后,只有当您有精选图片时,才会显示整个style标记(不仅仅是图片)。