最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

posts - Display all search results

programmeradmin1浏览0评论

Is there a way to display all the search results on the search.php? Actually it is displaying only 10 results (as set in WordPress settings > general).

Is there a way to display all the search results on the search.php? Actually it is displaying only 10 results (as set in WordPress settings > general).

Share Improve this question edited Nov 14, 2015 at 14:06 user9447 1,7927 gold badges30 silver badges55 bronze badges asked Mar 19, 2012 at 11:53 AndycapAndycap 5852 gold badges9 silver badges22 bronze badges
Add a comment  | 

3 Answers 3

Reset to default 8

The quick and dirty way to do it would be to use query_posts again, doubling the number of database calls.

<?php if (have_posts()) : ?>
<?php query_posts('showposts=999'); ?>

Better would be to add this to functions.php, altering the original query before it is executed:

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

If you want to show an unlimited amount of posts, use -1.

Pretty easy: -1 overrides the limit. Just merge the default query with your custom arguments.

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

Try http://wordpress/extend/plugins/custom-post-limits/ You can set independent post limits/numbers for all kinds of results, i.e. search, category, tag, archives, author, paged, etc., without needing page templates or custom loops.

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论