wp_delete_term() の使い方|説明・引数・注意点

説明

wp_delete_term() は、タームを削除する関数です。

基本構文

wp_delete_term( int $term, string $taxonomy, array|string $args = array() ): bool|int|WP_Error

引数

  • $term:タームID
  • $taxonomy:タクソノミー名
  • $args:default(削除後に付け替えるターム)など

戻り値

成功したら true。既定のカテゴリーなど削除できないものは 0。

使い方(サンプル)

wp_delete_term( 5, 'category' );

注意点

  • 既定のカテゴリー(未分類)は削除できません。
  • 投稿のカテゴリーが空になる場合は、既定のカテゴリーが自動で付与されます。

実務での使いどころ

  • ターム(カテゴリーなど)を、プログラムから削除するとき。

よくあるミスと対処

  • $taxonomy を指定していない。
  • デフォルトのカテゴリーを削除しようとしている。削除はできず、0 が返る。
  • 削除は元に戻せない。実行前に、バックアップを取る。
  • 投稿とタームの関連だけを外したいのに、使っている。その場合は wp_remove_object_terms() を使う。

NG例

wp_delete_term( $term_id, 'news_cat' ); // 権限の確認がない。元に戻せない

OK例

if ( current_user_can( 'manage_categories' ) ) {
	$result = wp_delete_term( $term_id, 'news_cat' );
}

使い分け早見表

やりたいこと 使うもの
タームそのものを削除 wp_delete_term()
投稿とタームの関連だけを外す wp_remove_object_terms()
タームを更新する wp_update_term()

関連項目

wp_insert_term()、wp_update_term()、wp_remove_object_terms()

公式リファレンス:wp_delete_term() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました