2011-03-03 106 views
0

我有類似的問題(https://wordpress.stackexchange.com/questions/9593/custom-post-type-archive-with-pagination),並不能真正弄清楚該怎麼做!Pagenavi插件和自定義帖子類型導航錯誤(404)

我有一個自定義的帖子類型名稱'畫廊',我創建了一個模板來顯示所有'畫廊'項目。該網址是www.domain.com/gallery。我使用WP_Pagenavi插件。每當我嘗試轉到第2頁或更高版本時,網址將變爲www.domain.com/gallery/page/2,並且它會返回404頁面。我到處閱讀,我想這與重寫規則,查詢和其他任何事情有關!

我曾嘗試加入

add_rewrite_rule('gallery/page/([0-9]+)/?$', 'index.php?pagename=gallery&paged=$matches[1]', 'top'); 

的事情是,我不想改變我的永久鏈接結構,也就是現在的/%postname%/。

這裏是我完整的代碼

 <?php 

     $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
     $args = array(
      'post_type' => 'gallery', 
      'paged' => $paged, 
      'showposts' =>24 
      ); query_posts($args); 

     if (have_posts()) : while (have_posts()) : the_post(); ?> 


       ...stuff here... 

       <?php endwhile; endif; ?> 


     <?php 
      wp_pagenavi(); 
     ?> 

,這裏是我的畫廊

add_action('init', gallery); 
function gallery() { 
$args = array(
     'label' => __('Gallery'), 
     'singular_label' => __(Gallery), 
     'public' => true, 
     'show_ui' => true, 
     'capability_type' => 'post', 
     'hierarchical' => false, 
     'rewrite' => true, 
     'supports' => array('title', 'editor', 'thumbnail', 'custom-fields')   
); 

register_post_type('gallery' , $args); 
add_rewrite_rule('gallery/page/([0-9]+)/?$', 'index.php?pagename=gallery&paged=$matches[1]', 'top'); 
} 

我拉我的頭髮與此(grrrrr)的functions.php代碼。 提前謝謝!

回答

0

你的問題是永久鏈接結構。 /%postname%/是一個可怕的結構,因爲它碰到了數據庫。如果您的permalink結構中不包含/%category%/,那麼您將始終遇到自定義帖子類型和自定義分類法的問題。我只是總是使用/%year%/%category%/%postname%/

如果你堅持上面的永久鏈接結構,那麼這應該解決你的問題。

add_rewrite_rule('projects/page/([0-9]+)/?$', 'index.php?pagename=projects&paged=$matches[1]', 'top'); 
+0

Thanx!這是關於刷新永久鏈接結構 – Pantso 2011-03-08 07:40:57

+0

是啊任何時候你添加一個新的分類或CPT你需要刷新規則訪問頁面並點擊保存(真的只是訪問頁面應該這樣做) – curtismchale 2011-03-08 23:51:29

相關問題