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

説明

wp_remove_object_terms() は、オブジェクトからタームの紐付けを外す関数です。

基本構文

wp_remove_object_terms( int $object_id, string|int|array $terms, string $taxonomy ): bool|WP_Error

引数

  • $object_id:投稿などのID
  • $terms:外すターム
  • $taxonomy:タクソノミー名

戻り値

成功したら true。

使い方(サンプル)

wp_remove_object_terms( 123, 'rock', 'genre' );

注意点

  • タームそのものは削除されず、紐付けのみ解除されます。

実務での使いどころ

  • 投稿から、特定のタームだけを、外すとき。
  • ほかのタームを残したまま、一部のタームだけを、取り除くとき。

よくあるミスと対処

  • タームそのものを削除するつもりで使っている。この関数は、投稿とタームの関連を外すだけ。タームの削除は wp_delete_term()。
  • タームのIDを、文字列で渡している。IDは、整数で渡す。

NG例

wp_remove_object_terms( $post_id, 5, 'category' ); // 関連を外すだけで、タームは削除されない

OK例

wp_delete_term( 5, 'category' ); // タームそのものを削除する

使い分け早見表

やりたいこと 使うもの
投稿から、タームを外す wp_remove_object_terms()
タームそのものを削除 wp_delete_term()
タームを設定する wp_set_object_terms()

関連項目

wp_set_object_terms()、wp_delete_term()

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

コメント

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