Wordpress使用get_term来检索slug不按预期工作

时间:2016-05-26 11:03:09

标签: php wordpress taxonomy slug

我使用以下代码尝试获取当前类别和父类别的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;
    ?>

1 个答案:

答案 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()函数返回哪些参数。

如果有帮助,请告诉我。