WordPress получит миниатюры постов в шаблоне

Прямо сейчас у меня есть для каждого поста два размера для миниатюры:

$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 } ?>

2 ответа

Решение

Сделайте счетчик вне функции.

Внутри функции увеличьте счетчик. Но перед этим проверьте, не засчитан ли он% 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 } ?>

Как насчет индикатора, который увеличивается в размере для каждого поста, начиная со значения 3, и вы всегда делаете по модулю

if(($i % 3) == 0) { 
  use big 
} else {
  use small
}
$i++;
Другие вопросы по тегам