2015-05-19 21 views
0

我在建立一个儿童主题的过程中宇画布,我努力让我的分页我的档案页面上工作了一个新的名为自定义后类型书。自定义后存档类型分页不会对宇帆布儿童主题工作

的岗位类型registeration代码如下:

$args = array(
    'labels'    => $labels, 
    'public'    => true, 
    'publicly_queryable' => true, 
    'show_ui'   => true, 
    'show_in_menu'  => true, 
    'query_var'   => true, 
    'rewrite'   => array('slug' => 'book'), 
    'capability_type' => 'post', 
    'has_archive'  => true, 
    'hierarchical'  => false, 
    'menu_position'  => null, 
    'supports'   => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments') 
    ); 

register_post_type('book', $args); 

这是我的职能文件,并运行正常。

我有其中显示分页链接,但给我一个404错误,每当我浏览到被例如分页页面我的存档book.php中下面的代码 - http://localhost/wp/book/page/2/

<?php 

global $wp_query, $woo_options, $paged, $page, $post; 
?> 
<?php get_header(); ?> 
<?php 

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 

$args = array(
    'post_type' => 'book', 
    'paged' => $paged, 
    'posts_per_page' => 3 
    ); 
$query = new WP_Query($args); 
while ($query->have_posts()) { $query->the_post(); ?> 
<?php echo the_title(); ?> 
<?php } ?> 
<?php 
woo_pagenav($query); 
wp_reset_query(); 
get_footer(); ?> 

我已经设置了永久链接“后名”和固定链接多次在所选的两个帖子名称和默认固定链接刷新。

回答

1

第二个页面不存在,所以你的存档模板不会装载。初始查询中将使用默认的每页帖子数,并且在该条件下没有第二页帖子。

如果您在自定义查询下有5个书帖,则第一页将显示3和第二个2.在每页的默认页数(10)下,所有5个将显示在第一页上,不需要页面2. WordPress然后加载404模板。

您需要使用pre_get_posts挂钩来修改主查询。

例子:

/** 
* Change the number of posts per page on the book archive. 
* 
* @param object $query 
*/ 
function wpse_modify_book_archive_query($query) { 

    // Only apply to the main loop on the frontend. 
    if (is_admin() || ! $query->is_main_query() { 
     return false; 
    } 

    // Check we're viewing the book archives. 
    if ($query->is_post_type_archive('book')) { 
     $query->set('posts_per_page', 3); 
    } 
} 
add_action('pre_get_posts', 'wpse_modify_book_archive_query'); 
+0

完美,帮我极大! –

相关问题