2016-04-14 6 views
0

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

それ以外の場合は$ imageではない$ image [0] –

答えて

1
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'); 
    } 

    if($image){ 
     $image = $image[0]; 
     } 
      else { 
     $image = get_template_directory_uri() . '/assets/images/placeholder.png'; 
    } 
    ?> 

    <div class="hero-inner" style="background: url(<?php echo $image; ?>) no-repeat center center; background-size: cover;"> 
    [...] 
    </div> 
0

$イメージに変数$画像を変更する[0]最後の他の作品のため。

<?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[0] = 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> 
関連する問題