如何将分类层次级别设置为2?

时间:2016-12-27 作者:Deepak modi

我创建了一个自定义分类法并注册了它。我希望分类法的最大级别应为2。i、 e.父=>子=>子级。如何设置级别??

1 个回复
SO网友:fuxia

创建分类法时不能设置级别。

强制级别的唯一方法是观察术语创建:过滤器create_term; 这是最早允许我们更改父项ID的筛选器。没有明显的原因,该筛选器pre_insert_term 缺少这些信息……这可能太容易了。

如果当前on已经是第二级ID,则更改父项ID。

未测试的示例代码:

add_action( \'create_term\', function( $term_id, $tt_id, $taxonomy ) {

    $term = get_term( $term_id );

    // Nothing to do.
    if ( empty( $term->parent ) )
        return;

    $parent = get_term( $term->parent, $taxonomy );

    // This is a second level term, that\'s okay.
    if ( empty( $parent->parent ) )
        return;

    wp_update_term( $term_id, $taxonomy, [ \'parent\' => $parent->term_id ] );
}, 10, 3 );

相关推荐