0

私が達成しようとしているのは、注目の画像を設定していない投稿で、デフォルトの CSS background-image を使用することです。つまり、すべての投稿に画像が含まれます。

<?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 ?>')">

注目の画像セットのない投稿の場合、「背景画像」は CSS のデフォルトの画像にする必要があります。これは、コードが実際にこれらの投稿の bg 画像 (feat 画像セットなし) を記述しているためです。

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

1 に答える 1

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次に、注目の画像がある場合にのみ、タグ全体(画像だけでなく) が表示されます。

于 2015-02-22T20:23:51.910 に答える