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 似乎有错误的值。但为什么?我是否正确注册了分类法(我喜欢为自定义帖子类型使用类别和标签)?
你有什么想法要做什么吗?多谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我刚刚遇到了完全相同的问题,但在任何地方都找不到解决方案!互联网上充满了有关该主题的资源,但没有一个提供该问题的正确答案。
这是任何搜索者的正确答案。将以下代码放入主题根目录的 functions.php 中。
所有积分均归于在 Mike自定义帖子类型分页类别存档-404" rel="nofollow">Wordpress.com。干杯!
I have just encountered the exact same problem and couldn't find the solution anywhere! The internets are full of resources about the topic but none provided the correct answer to the issue.
Here's the correct answer for anyone searching. Put the below code in functions.php in your theme's root directory.
All credits go to Mike who posted this on Wordpress.com. Cheers!
确保将其添加
到 $args 中,它应该可以接受分页。
更多此处
Make sure you add this:
to your $args and it should accept the paging okay.
More here
在 archive.php 中尝试使用以下内容:
对于我使用的下一页和上一页链接:
In the archive.php try using the following:
For the next and previous page links I use: