diff --git a/wp-includes/query.php b/wp-includes/query.php index b461bf154a..1fb35b02ed 100644 --- a/wp-includes/query.php +++ b/wp-includes/query.php @@ -555,6 +555,7 @@ class WP_Query { if (isset($q['page'])) { $q['page'] = trim($q['page'], '/'); $q['page'] = (int) $q['page']; + $q['page'] = abs($q['page']); } $add_hours = intval(get_settings('gmt_offset')); @@ -875,18 +876,19 @@ class WP_Query { // Paging if (empty($q['nopaging']) && ! $this->is_single && ! $this->is_page) { - $page = $q['paged']; + $page = abs(intval($q['paged'])); if (empty($page)) { $page = 1; } if (($q['what_to_show'] == 'posts')) { + $q['offset'] = abs(intval($q['offset'])); if ( empty($q['offset']) ) { $pgstrt = ''; $pgstrt = (intval($page) -1) * $q['posts_per_page'] . ', '; $limits = 'LIMIT '.$pgstrt.$q['posts_per_page']; } else { // we're ignoring $page and using 'offset' - $pgstrt = intval($q['offset']) . ', '; + $pgstrt = $q['offset'] . ', '; $limits = 'LIMIT ' . $pgstrt . $q['posts_per_page']; } } elseif ($q['what_to_show'] == 'days') {