$paged is not set when a Static Page is set as the Front Page
|Reported by:||der||Owned by:||wonderboymusic|
|Severity:||normal||Keywords:||has-patch close 2nd-opinion|
If a static page is set as the front page of your WordPress site, and you request paginated content from the page via its URL (with permalinks enabled or disabled, doesn't matter), the $paged variable is not set.
This causes custom pages (those ones displaying posts), to always go to Page 1, even if you click other pages. ( This is happening because $paged is set to null, and if it's set to null, it always goes to page 1).
Also, get_query_var('paged'), also returns null, when it should return page 2 (if you clicked on page 2 for example).
After inspecting $wp_query, I noticed that the correct paginated value is stored on
So, I have to do the following on all my themes on header.php, so the pagination doesn't break:
global $wp_query, $paged; $paged = $wp_query->query['paged'];
This sets $paged again,with the correct value from $wp_query and fixes the bug. Since $paged is null whenever a custom page is selected as your homepage.
This fix works with permalinks enabled or disabled.
Change History (14)
- Component changed from General to Query
- Keywords pagination paged removed
comment:6 wonderboymusic — 13 months ago
- Milestone Future Release deleted
- Resolution set to worksforme
- Status changed from new to closed
comment:7 wonderboymusic — 13 months ago
- Resolution worksforme deleted
- Status changed from closed to reopened
comment:9 wonderboymusic — 13 months ago
- Owner set to wonderboymusic
- Status changed from reopened to accepted