Display all search results

时间:2012-03-19 作者:Andycap

是否有办法在上显示所有搜索结果search.php?实际上,它只显示10个结果(如WordPress settings > general).

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

快速而肮脏的方法是query_posts 同样,数据库调用的数量翻了一番。

<?php if (have_posts()) : ?>
<?php query_posts(\'showposts=999\'); ?>
最好将此添加到functions.php, 在执行之前更改原始查询:

function change_wp_search_size($query) {
    if ( $query->is_search ) // Make sure it is a search page
        $query->query_vars[\'posts_per_page\'] = 10; // Change 10 to the number of posts you would like to show

    return $query; // Return our modified query variables
}
add_filter(\'pre_get_posts\', \'change_wp_search_size\'); // Hook our custom function onto the request filter
如果要显示无限数量的帖子,请使用-1.

SO网友:kaiser

非常简单:-1 覆盖限制。只需将默认查询与自定义参数合并即可。

global $wp_query;
query_posts( 
    wp_parse_args(
         $wp_query->query
        ,array( \'posts_per_page\' => -1 )
    )
);

SO网友:markratledge

尝试http://wordpress.org/extend/plugins/custom-post-limits/ 您可以为所有类型的结果设置独立的帖子限制/编号,即搜索、分类、标签、归档、作者、页面等,而无需页面模板或自定义循环。

结束

相关推荐

ID for posts/blogs page

我有一个网站,它有一个静态首页和一个博客页面,其中显示所有博客。我正在使用自己的主题,并创建了一些自定义元框,这些元框根据$post->ID. 我得到的有趣行为是$post->ID 给我第一个博客的ID,而不是博客页面本身的ID。我在循环外使用$post,并已将其声明为全局,但没有任何效果。我还尝试使用$wp_query->post->ID 但这给了我最后一篇帖子的ID。相关代码是我使用$post的地方,下面是这段代码位于页脚。php:<?php require_once(\