【发布时间】:2014-02-23 21:09:24
【问题描述】:
我处于一个我无法弄清楚的情况。我在具有多种自定义帖子类型的网站上运行 WP 3.4.2。普通帖子显示在博客部分,属于一个名为博客的类别,具有不同的子类别。
博客帖子和另一种称为“事件”的帖子类型在单个视图中显示标签。标签显示正常,但是当您单击博客文章标签时,找不到任何文章。与事件相关的标签按预期工作。
真正奇怪的是在管理员中。当我搜索与普通帖子相关的标签时,它会找到它并计算它有多少帖子,但是当点击帖子数量时会显示“未找到帖子。”。使用与事件相关的标签,这永远不会发生。
此外,类别也有同样的问题.. 只显示来自事件的帖子..
我还尝试制作另一种名为“blogposts”的帖子类型,以显示在博客页面上,而不是普通帖子,但同样是悲伤的故事。
据我在代码中看到的,在archive.php 和tag.php 中,查询不会返回普通帖子,只是事件通过。
我有这个在functions.php
function namespace_add_custom_types( $query ) {
if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
$query->set( 'post_type', array('post', 'events', 'blogposts' ));
return $query;
}
}
add_filter( 'pre_get_posts', 'namespace_add_custom_types' );
任何想法都会受到欢迎。 谢谢!
【问题讨论】:
-
我没有阅读整个问题,但您不需要
if ( (is_category() || is_tag() ) && empty(/*the rest*/额外的( ) 围绕is_*函数吗? -
我从这里得到了这段代码css-tricks.com/snippets/wordpress/… 我尝试了你的想法,但没有任何改变......呃......我越来越绝望了
-
我今天没时间了,明天再仔细看看,如果其他人还没有;)(大约 17 小时)
-
*再推迟几个小时(2-3)