if文を作成して、現在のwordpressのページ/投稿に特徴画像が設定されているかどうかを確認しました。表示されない場合は、プレースホルダ・イメージのURIをスクリプトがエコーするようにします。スクリプトの実行にはPHPエラーはありませんが、利用可能な機能イメージがない場合は、background: url(h)
と表示され、プレースホルダーのURIは表示されません。私は問題がインラインでエコーしていることがわかります$image[0]
しかし、これを修正する方法はわかりません。Wordpressのif文が正しいURIをエコーしない
<?php if(is_home()) {
$image = wp_get_attachment_image_src(get_post_thumbnail_id(get_option('page_for_posts')),'full');
} elseif (has_post_thumbnail($post->ID)) {
$image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'single-post-thumbnail, page_for_posts');
} else {
$image = get_template_directory_uri() . '/assets/images/placeholder.png';
}
?>
<div class="hero-inner" style="background: url(<?php echo $image[0]; ?>) no-repeat center center; background-size: cover;">
[...]
</div>
それ以外の場合は$ imageではない$ image [0] –