打印当前帖子的相关类别,从Parent开始(带有删除HREF的选项)

时间:2019-02-25 作者:Sean Doherty

我不知道为什么这个看似简单的功能很难执行,但我花了很多时间浏览网页,整合建议,却没有得到预期的输出。

在单个帖子模板上,我想显示如下类别:

Parent, Child, Child
如果没有孩子,那就是:

Parent
我还想要删除href的选项。目前我有:

<?php
  $cat = get_the_category();
  $allCats = $cat[0]->cat_ID;
  echo get_category_parents( $allCats, false, \',\' ); 
?>
这在两方面不起作用:

1) 它缺少我的三个类别中的一个

2) 它在最后一个类别后添加了一个逗号(这里应该有第三个a类别)

标准代码:

 <?php the_category(\', \')?>
打印所有三个类别,但我没有删除href的选项,它们的顺序不正确:

Child,Parent,Child
我猜会有一个超级简单的方法来做到这一点,但它不是超级简单的在线查找!感谢您的帮助:)

1 个回复
SO网友:Qaisar Feroz

下面是WordPress 显示按父子类别关系排序后分配给帖子的类别(或来自其他分类法的术语)。此示例必须在循环内使用。

$taxonomy = \'category\';

// Get the term IDs assigned to post.
$post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( \'fields\' => \'ids\' ) );

// Separator between links.
$separator = \', \';

if ( ! empty( $post_terms ) && ! is_wp_error( $post_terms ) ) {

    $term_ids = implode( \',\' , $post_terms );

    $terms = wp_list_categories( array(
        \'title_li\' => \'\',
        \'style\'    => \'none\',
        \'echo\'     => false,
        \'taxonomy\' => $taxonomy,
        \'include\'  => $term_ids
    ) );

    $terms = rtrim( trim( str_replace( \'<br />\',  $separator, $terms ) ), $separator );

    // Display post categories.
    echo  $terms;
}
有关的信息this page 可以帮助您根据自己的要求调整代码。我希望这会有所帮助。

相关推荐

Dropdown menu for categories

当我使用下面的代码时<?php wp_nav_menu( array(\'menu\' => \'categories\' )); ?> 我可以创建一个新的菜单来列出我创建的wordpress中的所有类别。我用它在页面中间列出所有类别。我现在的问题是:有没有一种简单的方法可以为存在的每个子类别创建下拉菜单?那么,当我点击一个特定的类别时,它的子类别会显示出来吗?