wordpress while(have_posts()):public void run();一遍又一遍地重复同一个帖子?

kcugc4gi  于 2023-10-17  发布在  WordPress
关注(0)|答案(3)|浏览(112)

我对这个小片段有意见。基本上,它是抓取当前发布类别中的一个帖子并重复显示它,而不是抓取和显示前3个。有什么想法吗?我敢肯定这是一个愚蠢的错过“或什么的。

global $query_string;

    query_posts( array(
    'showposts'  => 3,
    'cat' => 'current-releases'
) );

    echo '<div class="related-posts">';

    while (have_posts()) : the_post();
       echo '<div class="related-album">'.the_post_thumbnail('large');
        echo ' '.the_title();
       echo '</div>';
    endwhile;

    echo '</div>';
yfwxisqw

yfwxisqw1#

endwhile之后使用wp_reset_query();。请遵循函数参考,您可以在其中看到示例片段。
https://developer.wordpress.org/reference/functions/wp_reset_query/

szqfcxe2

szqfcxe22#

您的query_posts选项需要格式化为数组:

query_posts( array(
    'showposts'  => 3,
    'cat' => 'current-releases'
) );
myzjeezk

myzjeezk3#

query_posts不应该使用。我会先把它换掉请记住,这样做还需要更新循环。

$related_posts = new WP_Query( array(
    'posts_per_page'  => 3,
    'cat' => 'current-releases',
    'no_found_rows' => true,
) );

// we don't want any output if no posts found. 
if ( $related_posts->have_posts() ) : 

    echo '<div class="related-posts">';

    while ( $related_posts->have_posts() ) : $related_posts->the_post();
       echo '<div class="related-album">';

       // the_post_thumbnail() and the_title() output, not return
       the_post_thumbnail( 'large' );
       the_title( ' ' ); // I've used ' ' as the before arg since your original code did that.

       echo '</div>';
    endwhile;

endif;

相关问题