2015-05-19 51 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

完美,幫我極大! –

相關問題