最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

custom post types - Pagination not working on homepage

programmeradmin3浏览0评论

I tried multiple solutions but its not working.

When I go to /page/2, it doesn't work.

I'm executing custom query in index.php of my theme.

if ( get_query_var('paged') ) {
$paged = get_query_var('paged');
} elseif ( get_query_var('page') ) {
$paged = get_query_var('page');
} else {
$paged = 1;
}

$args = array(
'post_type' => array('post', 'music', 'videos'),
'post_status' => 'publish',
//'meta_key' => 'featured',
//'meta_value' => '1',
'posts_per_page' => 10,
'orderby'=>'date',
'order'=>'DESC',
'paged' => $paged
);

query_posts($args);

Here is the link of my website: /

This page is not working (throwing 404) - / (of the format - mywebsite/page/2/)

Just realized this page 2 works - of the format - mywebsite/?page=2

I tried multiple solutions but its not working.

When I go to /page/2, it doesn't work.

I'm executing custom query in index.php of my theme.

if ( get_query_var('paged') ) {
$paged = get_query_var('paged');
} elseif ( get_query_var('page') ) {
$paged = get_query_var('page');
} else {
$paged = 1;
}

$args = array(
'post_type' => array('post', 'music', 'videos'),
'post_status' => 'publish',
//'meta_key' => 'featured',
//'meta_value' => '1',
'posts_per_page' => 10,
'orderby'=>'date',
'order'=>'DESC',
'paged' => $paged
);

query_posts($args);

Here is the link of my website: http://fattrel.developmentdemo/

This page is not working (throwing 404) - http://fattrel.developmentdemo/page/2/ (of the format - mywebsite/page/2/)

Just realized this page 2 works - of the format - mywebsite/?page=2

Share Improve this question edited Dec 8, 2012 at 20:56 fuxia 107k39 gold badges255 silver badges459 bronze badges asked Dec 8, 2012 at 20:09 dangdang 1412 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

This is my working pagination query. I've updated it to use the parameters in your question:

<?php 
if ( get_query_var('paged') ) {
    $paged = get_query_var('paged');
} else if ( get_query_var('page') ) {
    $paged = get_query_var('page');
} else {
    $paged = 1;
}

$args = array(
    'post_type'      => array('post', 'music', 'videos'),
    'post_status'    => 'publish',
    'posts_per_page' => 10,
    'orderby'        => 'date',
    'order'          => 'DESC',
    'paged'          => $paged 
);

// Create new query
$temp = $wp_query; 
$wp_query = null; 
$wp_query = new WP_Query(); 
$wp_query->query( $args );
while ($wp_query->have_posts()) : $wp_query->the_post(); 
?>

<!-- add your content -->

<?php 
    // End the custom loop    
    endwhile; ?>

<?php 
    // This is where I put my pagination, included from another file
    echo get_template_part( 'pagination' ); ?>

<?php
    // Need this to reset the query
    $wp_query = null; 
    $wp_query = $temp;  // Reset
?>

I see you're using numbered pagination, while I am using the default wordpress next and previous pagination. I don't think there will be a problem using this code for either type.

发布评论

评论列表(0)

  1. 暂无评论