wp_update_term()
不会更改分类法。它只是更新了现有的分类法。说出下面的代码-
$update = wp_update_term( 1, \'category\', array(
\'name\' => \'Uncategorized Renamed\',
\'slug\' => \'uncategorized-renamed\'
) );
if ( ! is_wp_error( $update ) ) {
echo \'Success!\';
}
此代码查找ID为1的类别,然后将其更新为作为参数传递的名称和slug。在我的系统上下文中,ID为1的类别未分类。因此它将重命名它。
对于更改术语分类法,没有默认函数。我给你写了一封信。看看下面-
function the_dramatist_change_terms_taxonomy( $term_id, $future_taxonomy ){
global $wpdb;
$update = $wpdb->update(
$wpdb->prefix . \'term_taxonomy\',
[ \'taxonomy\' => $future_taxonomy ],
[ \'term_taxonomy_id\' => $term_id ],
[ \'%s\' ],
[ \'%d\' ]
);
return $update;
}
在这里
$term_id
是您要更改的术语ID,以及
$future_taxonomy
是未来分类法的术语。
$future_taxonomy
必须是字符串
\'category\',
\'post_tag\' 或
\'any_other_taxonomy\'.
It actually updates the database value directly. So be careful before you use it. 如果您的学期有任何家长,请特别小心。因为它基本上是在更新分类法值
wp_terms_taxonomy
表,而不是任何其他表。对于更新术语分类法,我没有找到更好的选择。
以及在分类法中插入术语,您可以使用wp_insert_term( $term, $taxonomy, $args = array() )
. 因此,您可以检查所需的分类是否存在。如果存在,则更新它;如果不存在,则创建它。如下所示-
$term = term_exists( \'Uncategorized\', \'category\' );
if ( $term !== 0 && $term !== null ) {
the_dramatist_change_terms_taxonomy( $term->term_id, $future_taxonomy )
} else {
wp_insert_term( \'...All..The...Parameter..Here\' );
}