嘿。我在wordpress中使用自定義帖子類型。我註冊這個自定義後類型是這樣的:這些參數WordPress的自定義帖子類型
register_post_type("lifestream", array(
'label' => 'Lifestream',
'public' => true,
'hierarchical' => true,
'menu_position' => 5,
'supports' => array('title','editor','author','thumbnail','comments','custom-fields'),
'taxonomies' => array('category','post_tag'),
'query_var' => true,
'publicly_queryable' => true,
'exclude_from_search' => false,
'caller_get_posts' => 1
));
register_taxonomy_for_object_type('category', 'lifestream');
register_taxonomy_for_object_type('post_tag', 'lifestream');
在主題(循環模板)我喜歡結合崗位和我的自定義後類型,我使用query_posts():
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => array('post', 'lifestream'),
'paged' => $paged,
'cat' => $wp_query->get('cat'),
'tag' => $wp_query->get('tag'),
'year' => $wp_query->get('year'),
'monthnum' => $wp_query->get('monthnum'),
'post_status' => 'publish',
'showposts' => 3
);
query_posts($args);
# the loop
while (have_posts()) : the_post();
# markup
endwhile;
if($wp_query->max_num_pages > 1):
# next_posts_link/previous_posts_link
endif;
wp_reset_query();
這工作到目前爲止。但是,我遇到了類別和標籤頁面的問題。如果我打電話給首頁,一切都很好,我可以通過頁面分頁獲得正確的結果。
而且,如果我呼叫分頁的URL,例如/ category/mycat/page/2一個404被拋出。但那裏肯定應該是帖子。不管該類別中是否存在自定義類型的帖子或正式的帖子。我想我的query_posts()參數是不正確的,但不知道...
看來,$ wp_query-> max_num_pages有錯誤的值。但爲什麼?我是否正確註冊分類法(我喜歡爲我的自定義帖子類型使用類別和標籤)?
你有什麼想法該怎麼辦?非常感謝!
嘿大衛。謝謝,但正如你所看到的,我將頁面參數傳遞給query_posts()。或者這有什麼不對嗎? – Status4 2011-02-10 09:01:01
哎呀,我的壞。我建議你做一個`print_r($ args);`看看究竟發送了什麼 - 這可能是你的第一個線索。另一件事:showposts被depracated,嘗試使用posts_per_page來代替。最後,您可以嘗試明確設置「nopaging」=> false – David 2011-02-12 22:03:10