代码之家  ›  专栏  ›  技术社区  ›  Gary Woods

post_per_page不起作用

  •  0
  • Gary Woods  · 技术社区  · 13 年前

    在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 回复  |  直到 13 年前
        1
  •  1
  •   maiorano84    13 年前

    根据您之前的问题,您的主题主要是使用query_posts对数据库运行任何和所有Post查询。由于这改变了主循环,WP_Query和get_posts也会受到对Query_posts的任何和所有现有调用的影响。我很确定Widget中的WP_Query调用在某个地方受到了流氓Query_posts调用的影响。

    我的建议是,由于将主题从query_posts的所有实例转换为WP_query可能需要花费相当多的精力,因此暂时使用“showposts”,因为这基本上解决了问题。我仍然建议将所有对query_posts函数的调用切换到WP_query,这只是因为这样做会显著提高性能,但最终,这需要您付出大量努力来解决一个相当小的问题。

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

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