好吧,我对wordpress有一个问题,这几天一直让我抓狂。
我有一个名为“帮助热线”的自定义帖子类型。该帖子类型有13个类别,其中一些类别有子类别。我还有5个自定义字段。
当我在帮助热线下创建帖子时,我会将其分配到与之相关的任何类别(可以是多个)
这就是我感到非常困惑的地方。
我有一个名为“页面帮助”的页面,该页面正在使用
<?php wp_list_categories(\'depth=1&title_li=\'); ?>
显示顶级类别。
当您单击其中一个类别时,我假设它正在加载类别。php,它有以下代码来显示我刚才单击的父类别的子类别。
<?php
$categories = get_categories(\'hide_empty=0\');
foreach ($categories as $category) :
query_posts(\'post_type=help-line&showposts=2&cat=\'.$category->cat_ID);
while(have_posts()){
the_post();
?>
<div class="height">
<div class="fourcol">
<p class="business"><?php the_field(\'helpline_name\'); ?></p>
<p><?php the_field(\'helpline_address\'); ?></p>
</div>
<div class="fivecol">
<p class="phone"><?php the_field(\'helpline_phone_number\'); ?></p>
</div>
<div class="threecol last">
<ul>
<li><a href="" class="tiptip web" title="<?php the_field(\'helpline_name\'); ?>" target="_blank"><?php the_field(\'helpline_name\'); ?></a></li>
<li><a href="" class="tiptip comments" title="read comments from others" target="_blank"><?php the_field(\'helpline_comments\'); ?></a></li>
<li><a href="mailto:<?php the_field(\'helpline_email\'); ?>" class="tiptip email" title="email us your problem"><?php the_field(\'helpline_email\'); ?></a></li>
</ul>
</div>
</div><!-- end test height -->
<?php }
endforeach; ?>
但无论我点击哪个父类别,它都会显示相同的帖子。
整个事情需要完全动态显示,当我添加一个新类别时,它将自动显示。
谁能帮帮我,我会很高兴的!!!:(
提前谢谢。
最合适的回答,由SO网友:Tom J Nowell 整理而成
默认情况下,类别仅显示帖子,标签也一样。自定义分类法不受此限制,可以通过过滤器覆盖此限制。
如果你把它放到你的函数中。php,然后是类型为help-line
将显示在列表中。
// before we grab the posts in a query
add_filter(\'pre_get_posts\', \'wpse49960_query_post_type\');
function wpse49960_query_post_type($query) {
// if it\'s a category/tag archive, and there are no \'suppress_filters\'
if( is_category() || is_tag() && empty( $query->query_vars[\'suppress_filters\'] ) ) {
// then set the \'post_type\' query var so that it includes our custom post type, not just \'post\'
$query->set( \'post_type\', array(
\'post\', \'help-line\',\'nav_menu_item\'
));
return $query;
}
}
此外,对于wordpress加载的模板,请参见此处:
http://codex.wordpress.org/Template_Hierarchy