I’ve whittled things down to the point where the only baseline change from WordPress 2.0.2 is in the next_posts_link function of the wp-includes/template-functions-links.php file. The change is necessary because WPopac rewrites the SQL search queries in a way that’s incompatible with a piece of this function, but necessary for performance reasons.
Here’s how my version reads:
function next_posts_link($label='Next Page »', $max_page=0) { global $paged, $result, $request, $posts_per_page, $wpdb, $max_num_pages; if ( !$max_page ) { if ( isset($max_num_pages) ) { $max_page = $max_num_pages; } else { preg_match('#FROM\s(.*)\sGROUP BY#siU', $request, $matches); // added April 5 2006 by Casey Bisson to support WPopac // necessary because the preg_match above fails with some queries if(!$fromwhere) $fromwhere = $wpdb->posts; // changed April 5 2006 by Casey Bisson to speed the query by eliminating // the slow DISTINCT clause //$numposts = $wpdb->get_var(“SELECT COUNT(DISTINCT ID) FROM $fromwhere”); $numposts = $wpdb->get_var(“SELECT COUNT(*) FROM $fromwhere”); $max_page = $max_num_pages = ceil($numposts / $posts_per_page); } } if ( !$paged ) $paged = 1; $nextpage = intval($paged) + 1; if ( (! is_single()) && (empty($paged) || $nextpage < = $max_page) ) { echo '<a href=“'; next_posts($max_page); echo '”>'. preg_replace('/&([^#])(?![a-z]{1,8};)/', '&$1', $label) .'</a>'; } }
Recently Commented