I have a problem with pagination on my front page. I want to show all posts from a specific category and paginate them. Here is the code

if ( is_front_page() ) {    
    $paged = get_query_var( 'page' ) ? get_query_var( 'page' ) : 1;
    $args = array(
        'post_type'      => 'post',
        'orderby'        => 'date',
        'order'          => 'DESC',
        'posts_per_page' => 1,
        'cat'            => '4',
        'page'           => $paged,
    $q = new WP_Query( $args );
    if ( $q->have_posts() ) { 
        while ( $q->have_posts() ) {
            <div> .... </div>
        //pagination links

But all the time I have the same posts on different pages: domain.com/page/2/ etc. What I'm doing wrong? How to fix it?

Thank you for any help.

  • Please add your pagination code as well.
    – obiPlabon
    Commented Feb 28, 2018 at 18:02
  • I was adding pagination code, and redone it from scratch and now is working. Thanks!
    – Ante Medic
    Commented Feb 28, 2018 at 19:15

1 Answer 1



Static front pages are not intended to be paged. None of the WordPress Previous / Next page link functions work with a static front page. Pagination on a static front page uses the page query variable, not the paged variable. See the WP_Query for details.


Display posts from current page on a static front page:

$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;
$query = new WP_Query( array( 'paged' => $paged ) );
  • See if you can spot the difference between ur code and the example Commented Feb 28, 2018 at 19:09
  • codex is rarely something you should treat like it is the bible. You can find there too many factual errors, pure BS, and outdated information. Anyway regardless of that statement there is no technical reason that prevents you from having pagination, it just might be harder than in other contexts Commented Feb 28, 2018 at 19:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.