创建分类法时不能设置级别。
强制级别的唯一方法是观察术语创建:过滤器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 );