wp_remove_object_terms()


WordPressのwp_remove_object_terms()関数は、指定されたオブジェクト(投稿やカスタム投稿タイプなど)から特定のターム(カテゴリーやタグなど)を削除するために使用されます。

構文

wp_remove_object_terms( int $object_id, string|int|array $terms, string $taxonomy );

引数の説明:

  • $object_id(int) — タームを削除する対象のオブジェクト(投稿やカスタム投稿タイプ)のID。
  • $terms(string|int|array) — 削除するタームのID、スラッグ、またはそれらの配列。
  • $taxonomy(string) — タームが属するタクソノミー(例: ‘category’, ‘post_tag’)。

例1: 投稿から特定のカテゴリーを削除する

この例では、IDがget_the_ID()の投稿からカテゴリー「news」を削除します。

wp_remove_object_terms(get_the_ID(), 'news', 'category');

例2: 投稿から複数のタグを削除する

この例では、IDがget_the_ID()の投稿からタグ「wordpress」と「php」を削除します。

wp_remove_object_terms(get_the_ID(), array('wordpress', 'php'), 'post_tag');

例3: カスタム投稿タイプからタームを削除する

この例では、カスタム投稿タイプ「book」からターム「fiction」を削除します。

wp_remove_object_terms(get_the_ID(), 'fiction', 'genre');

例4: タームIDを使用して削除する

この例では、タームIDを使用して特定のタームを削除します。

wp_remove_object_terms(get_the_ID(), 5, 'category');

例5: タームのスラッグとIDを混在させて削除する

この例では、スラッグとIDを混在させてタームを削除します。

wp_remove_object_terms(get_the_ID(), array('wordpress', 7), 'post_tag');

例6: タクソノミーを指定してタームを削除する

この例では、タクソノミー「genre」からターム「mystery」を削除します。

wp_remove_object_terms(get_the_ID(), 'mystery', 'genre');

例7: 複数のタクソノミーからタームを削除する

この例では、異なるタクソノミーから複数のタームを削除します。

wp_remove_object_terms(get_the_ID(), array('wordpress', 'mystery'), array('post_tag', 'genre'));

例8: タームが存在しない場合のエラーハンドリング

この例では、タームが存在しない場合にエラーハンドリングを行います。

if (!wp_remove_object_terms(get_the_ID(), 'nonexistent-term', 'category')) {
    echo 'タームが見つかりませんでした。';
}

注意点

  • タームが存在しない場合、関数はfalseを返します。
  • タームが正常に削除された場合、関数はtrueを返します。
  • タームがオブジェクトに関連付けられていない場合、関数は何も行いません。

関連機能: