首页 > 解决方案 > 在父级之前显示分类子级

问题描述

我有一个分类法配置为分层类别,碰巧当我创建一个帖子并选择父类和子类时,当我首先出现父类时,请按照我正在使用的代码进行更好的解释:

<?ph

    $local = get_the_terms($post->ID, 'fornecedor_localidade');

    $parent_id = $local[0]->parent;
    $parent = get_term_by( 'id', $parent_id, 'fornecedor_localidade' );

    echo $local[0]->name. '/' .$parent->slug;

?>

今天它看起来像这样:

父母/孩子

我希望它看起来像这样:

孩子/父母

我不知道 Wordpress 解释什么系统来对类别进行排序,但我尝试了一切,但我做不到,我正在等待一些帮助。

标签: phpwordpress

解决方案


简单的方法,相反的get_the_terms结果。

https://developer.wordpress.org/reference/functions/get_the_terms/

$local = get_the_terms($post->ID, 'fornecedor_localidade');
if ($local && !is_wp_error($local)) {
    $local = clone (object)array_reverse((array)$local);
    $local_names = array();
    foreach ($local as $term)
        $local_names[] = $term->name;
    $locals = implode(" / ", $local_names);
    echo $locals;
}

另一种方式:

$local = get_the_terms($post->ID, 'fornecedor_localidade');
if ($local && !is_wp_error($local)) {
    $local_names = array();
    foreach ($local as $term)
        $local_names[$term->term_id] = $term->parent==0 ? $term->slug : $term->name;
    ksort($local_names);
    $locals = implode(" / ", array_reverse($local_names));
    echo $locals;
}

推荐阅读