0

最初のギャラリー アイテムの画像と他のすべてのアイテムのテキストを表示するカスタム ギャラリーを Wordpress で作成しようとしています。

私は次のことを思いつきましたが、これは最初の項目のみを出力し、他の項目は何も出力しません。

私が間違っていることは何ですか?

$i = 0;
foreach ( $attachments as $id => $attachment ) {
    if ($i == 0) {
        echo 'the first one';
    }
    if ( $i !== 0) {
        $link = isset($attr['link']) && 'file' == $attr['link'] ? wp_get_attachment_link($id, 0, false, false) : wp_get_attachment_link($id, 0, false, false);
        $output .= "<{$itemtag} class='gallery-item'>";
        $output .= "
            <{$icontag} class='gallery-icon'>
                $link
            </{$icontag}>";
        if ( $captiontag && trim($attachment->post_excerpt) ) {
            $output .= "
                <{$captiontag} class='wp-caption-text gallery-caption'>
                " . wptexturize($attachment->post_excerpt) . "
                </{$captiontag}>";
        }
        $output .= "</{$itemtag}>";
        if ( $columns > 0 && ++$i % $columns == 0 )
            $output .= '<br style="clear: both" />';
        }
        $output .= 'Images: ' . count($attachments);
        $output .= "
                <br style='clear: both;' />
             </div>\n";

        return $output;
    }
    $i++;
}
4

3 に答える 3

1

この行には開き中括弧がありません:

if ( $columns > 0 && ++$i % $columns == 0 )
            $output .= '<br style="clear: both" />';

次に、forループが直前に終了し$i++$iがインクリメントされることはありません。

于 2013-05-27T10:04:16.517 に答える