2017-02-05 18 views
2

このコードでは、ビジュアルコンポーザーのカスタム「attach_images」要素タイプ(「macimgs」)を持つカスタム画像タイプに添付された3つの画像をすべて表示しようとしています。問題は、最後の1つのイメージだけが表示され、イメージを保持するコンテナを検査すると、3つではなく1つのイメージが表示されることです。すべての画像を表示するには出力が必要

ここで修正するものは何ですか?

$gallery = shortcode_atts(
array(
    'macimgs'  => 'macimgs', 
), $atts); 

$image_ids=explode(',',$gallery['macimgs']); 

$image_no = 1; 
foreach($image_ids as $image_id){ 
$images = wp_get_attachment_image_src($image_id, 'full'); 
$output =' 
<img src="'. $images[0] .'" alt="" /> 
'; 
$image_no++; 
} 
return $output; 

} 
+0

あなたのループでは、 '$ output'の値を上書きしています。以前の値を上書きせずに新しいイメージ値を追加する必要があります。 – Sefe

答えて

2

あなたは$ output変数を連結するのを忘れていると思います。 このコードを試してください

$gallery = shortcode_atts(
    array(
     'macimgs'  => 'macimgs', 
    ), $atts); 

$image_ids = explode(',',$gallery['macimgs']); 
$output = '';  
$image_no = 1; 

foreach($image_ids as $image_id){ 
    $images = wp_get_attachment_image_src($image_id, 'full'); 
    $output .='<img src="'. $images[0] .'" alt="" />'; 
    $image_no++; 
} 
return $output; 
関連する問題