posts_per_page不起作用

时间:2012-09-12 15:32:40

标签: php wordpress post

我的代码中的所有内容都适用于posts_per_page(它将显示的帖子数)。这是我的Wordpress代码的一部分:

<?php 
$category = get_the_category();
$current_category = $category[0]->term_id;
$qarr = array(
    'posts_per_page' => $posts_number,
    'cat' => $current_category,
    'tag' => 'pinned', // tag filtered
    'post__not_in' => array(get_the_ID())
);
$q = new WP_Query($qarr);
if($q->have_posts()) : while ($q->have_posts()) : $q->the_post();
?>

为什么它不起作用?我已阅读文档但不明白问题所在。

以下是完整代码,如果您想查看和测试它,只需为$ posts_number设置一个数字:http://pastebin.com/uNsynNiM

1 个答案:

答案 0 :(得分:1)

根据您之前的问题,您的主题主要是使用query_posts对您的数据库运行任何和所有后查询。由于这会改变主循环,因此WP_Query和get_posts也会受到对query_posts的任何和所有现有调用的影响。我相当肯定你的Widget中的WP_Query调用正受到某个地方的流氓query_posts调用的影响。

我的建议,因为将你的主题从query_posts的所有实例转换为WP_Query可能需要花费很多精力才能临时使用'showposts',因为这基本上解决了问题。我仍然建议将对query_posts函数的所有调用切换到WP_Query,这只是因为这样做会显着提高性能,但最终,这需要您付出巨大努力来解决相当小的问题。

就个人而言,我会这样做吗?作为良好实践的练习,我可能会,是的。我会说这值得吗?这取决于项目。如果这只是个人项目,我不会说这是必要的。

祝你好运,我希望一切顺利。