wp_set_object_terms()


WordPressのwp_set_object_terms()関数は、指定されたオブジェクト(投稿、ページ、カスタム投稿タイプなど)にターム(カテゴリー、タグ、カスタムタクソノミーなど)を関連付けるために使用されます。

構文

wp_set_object_terms( int $object_id, string|array $terms, string $taxonomy, bool $append = false );

引数の説明:

  • $object_id (int) — タームを関連付けるオブジェクトのID。
  • $terms (string|array) — 関連付けるタームの名前、スラッグ、またはID。
  • $taxonomy (string) — タームが属するタクソノミー。
  • $append (bool) — 既存のタームに追加するかどうか。falseの場合、既存のタームは上書きされます。

例1: 投稿にカテゴリーを追加

この例では、投稿IDを取得し、その投稿にカテゴリーを追加します。

<?php wp_set_object_terms(get_the_ID(), '新着情報', 'category', false); ?>

例2: カスタム投稿にタグを追加

カスタム投稿タイプにタグを追加する例です。

<?php wp_set_object_terms(get_the_ID(), array('重要', '緊急'), 'post_tag', true); ?>

例3: カスタムタクソノミーにタームを追加

カスタムタクソノミーにタームを追加する例です。

<?php wp_set_object_terms(get_the_ID(), '特別オファー', 'special_offers', false); ?>

例4: 複数のタームを一度に追加

複数のタームを一度に追加する例です。

<?php wp_set_object_terms(get_the_ID(), array('夏休み', '冬休み'), 'season', false); ?>

例5: タームを上書き

既存のタームを上書きする例です。

<?php wp_set_object_terms(get_the_ID(), '新製品', 'product_category', false); ?>

例6: タームを追加(上書きしない)

既存のタームに新しいタームを追加する例です。

<?php wp_set_object_terms(get_the_ID(), '限定品', 'product_category', true); ?>

例7: タームをスラッグで指定

タームをスラッグで指定して追加する例です。

<?php wp_set_object_terms(get_the_ID(), 'new-arrival', 'category', false); ?>

例8: タームをIDで指定

タームをIDで指定して追加する例です。

<?php wp_set_object_terms(get_the_ID(), 15, 'category', false); ?>

注意点

  • タームが存在しない場合、自動的に作成されます。
  • $appendtrueに設定すると、既存のタームに新しいタームが追加されます。
  • タームの追加や更新が失敗した場合、関数はfalseを返します。

関連機能: