0

現在、各投稿のサムネイル用に 2 つのサイズがあります。

$big = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'thumbnail_600x200' );
$small = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'thumbnail_200x100' );

私が達成しようとしているのは、次のパターンを使用して投稿を表示することです:

投稿 1 - [大きなサムネイル]
投稿 2 - [小さなサムネイル]
投稿 3 - [小さなサムネイル]
投稿 4 - [大きなサムネイル]
投稿 5 - [小さなサムネイル]
投稿 6 - [小さなサムネイル]

実際には、投稿は大 - 小 - 小 - 大 - 小 - 小のように表示されます。

何か案が?ありがとうございました

これは私の投稿foreachです:

<?php foreach ($posts as $post) { 
    $big = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'thumbnail_600x200' );
    $small = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'thumbnail_200x100' );

    if ( $big ) { ?>
        <img src="<?php echo $big['0']; ?>" />
    <?php }else{ ?>
        <img src="http://placehold.it/600x200/7f8c8d/ffffff" alt="Featured image missing"/>
    <?php } ?>
<?php } ?>
4

2 に答える 2

1

関数の外にカウンタを作成します。

関数内で、カウンターをインクリメントします。ただし、その前に、countr % 3 == 0 かどうかを確認してください。

その場合は、大きなサムネイルを表示します。

<?php
 $counter = 0;
 foreach ($posts as $post) {  
        if($counter %3 == 0)
        {
           $big = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'thumbnail_600x200' );
        }else{
           $small = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'thumbnail_200x100' );
        }

    if ( $big ) { ?>
        <img src="<?php echo $big['0']; ?>" />
    <?php }else{ ?>
        <img src="http://placehold.it/600x200/7f8c8d/ffffff" alt="Featured image missing"/>
    <?php } ?>
  counter++; //increase the counter
<?php } ?>
于 2014-11-27T11:00:50.523 に答える
0

値 3 から始まり、投稿ごとにサイズが増加するインジケーターはどうですか。常にモジュロを実行します。

if(($i % 3) == 0) { 
  use big 
} else {
  use small
}
$i++;
于 2014-11-27T11:01:00.597 に答える