好的,让我从告诉您我的目标开始,然后您可以看下面的例子,这将更有意义。我正在尝试实现一个简单的类别过滤器。我正在创建一个名为“ Cars”的简单自定义帖子类型,它将有一个用于显示所有汽车的图像和描述的字段。现在,我通过循环显示该自定义帖子类型,并通过将其分配给特定类别并通过条件显示在category.php中对其进行过滤。
因此,我有一个HONDA类别和该类别的3个子类别:
现在,当我在“汽车”页面上时,它将显示“所有类别”自定义帖子类型,并且在左侧有一个侧边栏,其中包含所有汽车类别,例如本田-丰田-尼萨
当我单击左侧的汽车制造商类别时,它将显示分配给该特定类别的所有自定义帖子类型,并且在现在显示类别的侧边栏上将仅显示HONDA类别及其子类别
现在的问题是:当我单击诸如Accord之类的HONDA子类别时,显示与该子猫相关的所有汽车类别的侧边栏在应该显示的时候不再显示。
这是我用来过滤侧栏上显示的类别的逻辑,具体取决于类别。
<?php if (is_category('Honda') ) : ?>
<?php $args = array(
'orderby' => 'name',
'order' => 'ASC',
'style' => 'list',
'show_count' => 1,
'hide_empty' => 1,
'use_desc_for_title' => 1,
'child_of' => 5,
'hierarchical' => 1,
'title_li' => __( 'Categories' ),
'show_option_none' => __( 'No categories' ),
'number' => null,
'echo' => 1,
'taxonomy' => 'category',
'walker' => null
); ?>
<?php wp_list_categories( $args ); ?>
<?php else : ?>
<p>This is some generic text to describe all other category pages.</p>
<?php endif; ?>
还有in_category的Wordpress函数
http://codex.wordpress.org/Function_Reference/in_category
因此,您的代码应如下所示:
<?php if (is_category('Honda') || in_category('Honda') ) : ?>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句