在我正在从事的一个项目中,我们有一个feed,它正在聚合到WordPress中。正在为提要项分配自定义帖子类型和自定义分类法。
新术语将成功创建并分配给帖子,并显示在前端和帖子编辑屏幕中。However 如果我转到后端的分类法页面,它只列出之前存在的术语。如果我创建一个新术语,例如“Bob”,然后刷新页面,所有术语都会按预期显示。
很明显,有一个缓存或某种类型的瞬态或一个钩子需要被触发,当我以编程方式创建分类术语时,这种情况不会发生,但当我通过后端执行时,这种情况就会发生。
有什么线索吗?
编辑:
代码如下:
$product_group = ! empty( $custom_meta[ \'product_group\' ] ) ? $custom_meta[ \'product_group\' ] : false;
$product_type = ! empty( $custom_meta[ \'product_type\' ] ) ? $custom_meta[ \'product_type\' ] : false;
if ( $product_group && $product_type ) {
$tax = strtolower( $product_group ) == \'opinion\' ? \'category\' : \'product_categories\';
if ( ! ( $group = term_exists( $product_group, $tax ) ) )
$group = wp_insert_term( $product_group, $tax, array( \'description\' => $product_group ) );
$group_id = ! is_wp_error( $group ) && isset( $group[ \'term_id\' ] ) ? $group[ \'term_id\' ] : 0;
if ( ! ( $type = term_exists( $product_type, $tax ) ) )
$type = wp_insert_term( $product_type, $tax, array( \'description\' => $product_type, \'parent\' => $group_id ) );
$type_id = ! is_wp_error( $type ) && isset( $type[ \'term_id\' ] ) ? $type[ \'term_id\' ] : 0;
$the_term = get_term_by( \'id\', $type_id, $tax );
$taxonomies = array( $tax => array( $the_term->slug ) );
}
似乎只有孩子们没有出现