仅显示自定义分类的已检查类别

时间:2016-06-15 08:32:58

标签: php wordpress wordpress-theming custom-post-type custom-taxonomy

我正在尝试在模板页面上显示名为standard_engine_specification的自定义分类的名称类别。这就是我到目前为止 - 它显示了分类的所有类别,而不是仅显示在管理面板中检查的类别。



<?php
/*variable to retrieve checked term*/

	$ses_terms = get_the_terms( $id, 'standard_engine_specification' );
		if( $ses_terms && !is_wp_error( $ses_terms ) ) {
		foreach( $ses_terms as $term ) {

			}
		}
		/*variable used to filter results*/
		$ses_args = array(
		'taxonomy'     => 'standard_engine_specification',
		'hierarchical' => true,
		'tax_query' => array(array(
			'taxonomy' => 'standard_engine_specification',
			'field' => 'slug',
			'terms' => array($term->slug),
			'operator' => 'IN'
		))
	);
				
?>
<ul>
<?php
/*output checked categories based on filter*/
foreach (get_categories($ses_args) as $category)
	{
		echo "<li>";
		echo $category->name;
		
		echo "</li>";
		
	}
?>
</ul>
&#13;
&#13;
&#13;

我几乎从一些其他用于过滤帖子类型的脚本中解决了这个问题,也许有人知道他们在做什么可以告诉我在哪里以及为什么我错过了这个 - 我已经提出了一些评论。

1 个答案:

答案 0 :(得分:0)

好的排序吧。我不需要使用tax_query,我尝试做同样的事情,我将WooCommerce称为模板页面,但它有点矫枉过正,所以我们学习:)

<?php

$ses_terms = get_the_terms( $post->ID, 'standard_engine_specification' );
if( $ses_terms && !is_wp_error( $ses_terms ) ) {
	foreach( $ses_terms as $term ) {
		echo "<li>";
		echo $term->name;
		echo "</li>";
	}
}
?>