WordPress标签和层次结构(父 - 子关系)

时间:2015-05-20 07:46:10

标签: wordpress tags custom-taxonomy

我很好奇为什么WordPress不支持标签分类中的parent->子层次结构,所以让我们假设你有一个标签:

城市(父母)和这个城市将城市列为子标签 - 伦敦 - 纽约 - 莫斯科 - .....所有城市都是父标签“城市”的子标签。

我认为这个功能应该在某些下一个WordPress版本中被覆盖或实现。

为了实现这个目标,我创建了一个自定义分类法并将其命名为Tags,并且这个版本的slug是“post_tags1”,因此它不会与原始标签冲突。

然后我取消设置默认标签,我使用自定义分类法post_tags1作为默认标签分类。

与标签绑定的所有功能都不适用于新标签(is_tag,wp_tag_clound ......等)

而不是那些函数,您将不得不使用术语函数,因为它们适用于自定义分类法。

我的目标是创建上面提到的父子层次结构,但是当我尝试列出父标记的子标记时,我得到一个空数组,但它们存在于我的分类中。

我正在使用此代码:

$ taxonomies = array(             'post_tag1'         );

    $args = array(
        'orderby'           => 'name', 
        'order'             => 'ASC',
        'fields'            => 'all', 
        'slug'              => 'cities',
        'parent'            => 'cities',
        'hierarchical'      => true, 
        'child_of'          => 0
    ); 

    $terms = get_terms($taxonomies, $args);
    var_dump($terms);
    foreach ($terms as $term) {
        print '<h2 class="story-heading">'.$term->name.'</h2>';
    } 

并且var_dump函数打印一个空数组,并且在foreach语句中没有迭代,也没有打印任何内容。

任何想法为什么会如此?

如果有人会提出一种不同的方法来解决这个问题,或者某种类型的插件可以解决这个问题,我们将不胜感激。

问候,Mile M。

1 个答案:

答案 0 :(得分:1)

父参数是一个整数,因此它应该是父ID。 来自get_terms function reference

父 (整数)获取此术语的直接子项(仅显式父项为此值的术语)。如果传递0,则仅返回顶级术语。默认为空字符串。