Noob Loop Question

时间:2013-03-08 作者:Lucas Fernandes

我带来了一个基本问题,但我无法解决,我想这对你来说很容易。我想,如果我有2个或更多的帖子循环,显示整个循环。我尝试了以下方法:

<?php
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$portfolio = new WP_Query(array(\'post_type\' => \'project\', \'posts_per_page\' => 12, \'paged\' => $paged));
$count = 0; ?>

<?php if ($portfolio < 2) : ?>

        [CONTENT LOOP]
    <?php if ($portfolio) :  while ($portfolio->have_posts()) : $portfolio->the_post();
        [/CONTENT LOOP]

        <?php endwhile; ?>
    <?php endif; ?>
<?php endif; ?>
然而,这并没有起作用,单个帖子仍然出现。就像我说的,如果我在循环中有一个帖子,将不会显示任何循环。对不起,我的问题是,我还不太熟悉wordpress。非常感谢。

1 个回复
最合适的回答,由SO网友:birgire 整理而成

如果要检查每页上的帖子数量,可以使用found_posts 方法WP_Query :

<?php
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$portfolio = new WP_Query(array(\'post_type\' => \'project\', \'posts_per_page\' => 12, \'paged\' => $paged));
if ($portfolio && $portfolio->found_posts >= 2) :  
    while ($portfolio->have_posts()) : $portfolio->the_post();
        echo "<div>";
        the_title();
        echo "</div>";
    endwhile; 
endif;
wp_reset_postdata();
?>
这里我们使用$portfolio->found_posts >= 2 检查我们是否2 或页面上的更多帖子。最后wp_reset_postdata() 添加以还原全局$post 到主查询中的当前帖子。

结束

相关推荐

Landing Page - Redirect Loop?

为此,最近给出了此解决方案(感谢D先生)Wordpress redirect to landing page if not logged in 线<?php if($_SERVER[\'REQUEST_URI\'] != \'.../\' || $_SERVER[\'REQUEST_URI\'] != \'.../\'){ if(!is_user_logged_in()) { wp_redirect( \'http://www.mysite.com/landingp