currently I have installed wordpress v4.7.2 and created a child-theme by twentyfifteen

I have create a custom post type.

enter image description here

now when browse the localhost, I got as should be the list, and the pagination is not working :( :

for example for page2 points



when accessing as localhost/works

the pagination working fine enter image description here

the code Im using also on archive and template files, is the following :

// Previous/next page navigation.
the_posts_pagination( array(
    'prev_text'          => __( 'Previous page', 'twentyfifteen' ),
    'next_text'          => __( 'Next page', 'twentyfifteen' ),
    'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentyfifteen' ) . ' </span>',
) );

<!--when WORKS is as default page homepage-->

<!--when access it via localhost/works-->

the only different is that on works-template.php, calling the query_posts()

$posts_per_page = get_query_var('posts_per_page');
$paged          = ( get_query_var('page') ) ? get_query_var('page') : 1;
$args           = array('post_type'     => 'works','posts_per_page'=> $posts_per_page ,'post_status'   => 'publish' ,'orderby'       => 'menu_order','order'         => 'ASC','paged'         =>$paged);

query_posts( $args );

// Start the Loop.
while ( have_posts() ) : the_post();

any suggestion?

1 Answer 1


the solution is dont use #static pages# and merge to functions.php

Merge to functions.php the following :

add_filter( 'pre_get_posts', 'my_get_posts' );

function my_get_posts( $query ) {

    if ( is_home() && $query->is_main_query() )
        $query->set( 'post_type', array( 'works' ) );
        //$query->set( 'post_type', ' page' );//$query->set( 'post_type', array( 'page', 'post' ) );

    return $query;

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.