Показывать всегда 5 постов, даже если я не показываю текущий пост, если он выбран случайным образом - PullRequest
1 голос
/ 18 сентября 2011

С кодом ниже, я показываю 5 постов, упорядоченных случайным образом в конце поста. Как видите, если текущее сообщение (ID) является одним из случайно выбранных сообщений, оно не отображается.

Это означает, что вместо 5 постов, которые я хочу показать, будет 4. В другом случае будет 5 постов.

У меня вопрос, как отредактировать приведенный ниже код, чтобы показывать только 5 сообщений, даже если текущее сообщение является одним из случайно выбранных.

<?php
query_posts( 'posts_per_page=5&orderby=rand' );

while (have_posts()) : the_post();
    if ( $post->ID == $ID  ) continue;
the_title();
endwhile;
    wp_reset_query(); 
?>

1 Ответ

0 голосов
/ 18 сентября 2011

Выберите 1 дополнительный ожидаемый пост и покажите его, только если вам пришлось пропустить один.

-edit- Это очень уродливо, но оно должно работать:

<?php
    query_posts( 'posts_per_page=6&orderby=rand' );
    $counter = 0;
    while (have_posts()) : the_post();
        if ( $post->ID == $ID  || $counter == 5 ) continue;
        $counter++;
        the_title();
    endwhile;
    wp_reset_query(); 
?>
...