我使用以下代码尝试获取当前类别和父类别的slug。
我设法获得了目前的cat slug,但是父母以可读文本和坚果slug格式显示。
我哪里错了?
<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
$parent = get_term($term->parent, get_query_var('taxonomy') );?>
<?php echo do_shortcode("[ecs-list-events cat='{$term->slug}']"); ?>
<?php
echo $term->slug;
echo $parent->name;
?>
答案 0 :(得分:0)
我最近刚刚设置了类似的东西。这是我用来完成类似事情的代码:
<?php
global $post;
$terms = get_the_terms($post->id, 'my-custom-taxonomy-name');
$term = get_term_by( 'id', $terms[0]->term_id, 'my-custom-taxonomy-name');
$parent = get_term($term->parent, 'my-custom-taxonomy-name' );
echo $parent->slug; //This will return the parent slug
?>
使用您的代码,您可以这样完成:
<?php
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
$parent = get_term($term->parent, get_query_var('taxonomy') );
?>
<?php echo do_shortcode("[ecs-list-events cat='{$term->slug}']"); ?>
<?php
echo $term->slug;
echo $parent->slug; //change this to "slug"
?>
您可能只需要更改&#34; echo $ parent-&gt; name;&#34; to&#34; echo $ parent-&gt; slug;&#34;。此外,您应该查看这些文章,了解可以从get_term_by()和get_term()函数返回哪些参数。
如果有帮助,请告诉我。