在Single.php循环中使用QUERY_POST

时间:2013-03-03 作者:whiteletters in blankpapers

在我的单圈内。php中,我使用了一个自定义查询get_posts 退回属于某一类别的职位。

<?php                                                   global $post;
                                                        $paged = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;
                                                        $myposts = get_posts("paged=$paged&category=5");?>

<?php foreach($myposts as $post) :?>

<?php the_title();?>

<?php endforeach; ?>
问题是原来的循环是单循环。php循环,在执行查询后似乎不起作用。例如,导航链接(下一个和上一个)不起作用。

你曾经面对过这个问题吗?非常感谢您的帮助。

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

你需要打电话wp_reset_postdata() 查询后恢复全局$post 导航链接函数用于确定下一篇/上一篇文章的变量。

SO网友:helgatheviking

您也可以使用WP_Query 而不是get_posts. 虽然做了同样的事情,但为了参考:

$paged = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;
$args =  array ( \'category\' => 5, \'paged\' => $paged, \'posts_per_page\'=> 5 );
$catPosts = new WP_Query( \'post_type=post\' );

if( $catPosts->have_posts() ){ ?>
    <ul>

    <?php while ($catPosts->have_posts()) : $catPosts->the_post(); ?>
        <li>
            <a href="<?php the_permalink();?>"><?php the_title(); ?></a>
        </li>
    <?php endwhile; ?>

    </ul>
<?php 
} else {
    // no posts found
}

wp_reset_postdata();

结束

相关推荐

Thesis -style Navigation

我正在研究一个主题,我希望用户能够像论文一样选择要在主题选项页面中显示的页面。我已经在谷歌上搜索了几个小时的逆向工程论文,但还没有找到一个很好的解决方案。我想知道是否有人做过这件事或看过教程。