From 00d3226b7b668724918f43c5e23e108b8be81976 Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Wed, 27 Oct 2004 23:58:40 +0000 Subject: [PATCH] Add $post_per_archive_page to override the number of posts to show for an archive page. Turn off paging if $post_per_* are set to -1. git-svn-id: https://develop.svn.wordpress.org/trunk@1835 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-blog-header.php | 13 +------------ wp-includes/classes.php | 11 ++++++++++- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/wp-blog-header.php b/wp-blog-header.php index a965b7b0d1..b033a85069 100644 --- a/wp-blog-header.php +++ b/wp-blog-header.php @@ -150,21 +150,10 @@ if (is_404()) { // Getting settings from DB if ( isset($doing_rss) && $doing_rss == 1 ) $posts_per_page = get_settings('posts_per_rss'); -if ( !isset($posts_per_page) || $posts_per_page == 0 ) - $posts_per_page = get_settings('posts_per_page'); -if ( !isset($what_to_show) ) - $what_to_show = get_settings('what_to_show'); -if ( isset($showposts) && $showposts ) { - $showposts = (int) $showposts; - $posts_per_page = $showposts; -} -if ( !isset($nopaging) ) { - $nopaging = ''; -} $use_gzipcompression = get_settings('gzipcompression'); -$more_wpvars = array('posts_per_page', 'what_to_show', 'showposts', 'nopaging'); +$more_wpvars = array('posts_per_page', 'posts_per_archive_page', 'what_to_show', 'showposts', 'nopaging'); // Construct the query string. $query_string = ''; diff --git a/wp-includes/classes.php b/wp-includes/classes.php index a175c8272c..cdacc9c4c4 100644 --- a/wp-includes/classes.php +++ b/wp-includes/classes.php @@ -212,7 +212,16 @@ class WP_Query { $q['showposts'] = (int) $q['showposts']; $q['posts_per_page'] = $q['showposts']; } - + if ( (isset($q['posts_per_archive_page']) && $q['posts_per_archive_page'] != 0) && (is_archive() || is_search()) ) + $q['posts_per_page'] = $q['posts_per_archive_page']; + if ( !isset($q['nopaging']) ) { + if ($q['posts_per_page'] == -1) { + $q['nopaging'] = true; + } else { + $q['nopaging'] = false; + } + } + $add_hours = intval(get_settings('gmt_offset')); $add_minutes = intval(60 * (get_settings('gmt_offset') - $add_hours)); $wp_posts_post_date_field = "post_date"; // "DATE_ADD(post_date, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)";