wp_set_object_terms

説明

mixed wp_set_object_terms( int $object_id, mixed $terms, mixed $taxonomy [ , bool $append = false ] )
投稿情報などにタクソノミーを設定する。

パラメータ

  • $object_id
    投稿情報などのIDを指定
  • $terms
    タームID、ターム名またはそれらの配列を指定
  • $taxonomy
    'category'や'post_tag'などのタクソノミー名またはその配列を指定
  • $append
    追加のみを行う場合はtrue、指定したタクソノミー以外を削除する場合はfalseを指定(省略時、false)

返り値

正しく設定できた場合はタームIDの配列を返す。設定できなかった場合は、エラー内容を示す WP_Errorオブジェクトを返す。

注意

カスタム投稿タイプにカテゴリを設定する場合は、 register_post_type関数による登録際、'taxonomies'プロパティに'category'を指定しておくこと。この指定がない場合は正しく動作しない。
wp_set_post_categories関数ではカテゴリーをIDまたはその配列で指定するが、このwp_set_object_terms関数は文字列で指定できるので、こちらのほうが便利かも。

使用例

  • 投稿IDが10の投稿情報に'ニュース'と'値下げ'のカテゴリーを設定する。
    <?php wp_set_object_terms( 10, array( 'ニュース', '値下げ' ), 'category' ); ?>

フィルター

実行するフィルターはありません。

アクション

タクソノミーの関連付け情報を追加する前に'add_term_relationship'アクションを呼び出す。
do_action( 'add_term_relationship', $object_id, $tt_id );
タクソノミーの関連付け情報を追加した後に'added_term_relationship'アクションを呼び出す。
do_action( 'added_term_relationship', $object_id, $tt_id );
タクソノミーの関連付け情報を削除する前に'delete_term_relationship'アクションを呼び出す。
do_action( 'delete_term_relationships', $object_id, $delete_terms );
タクソノミーの関連付け情報を削除した後に'deleted_term_relationship'アクションを呼び出す。
do_action( 'deleted_term_relationships', $object_id, $delete_terms );
返り値を返す直前に'set_object_terms'アクションを呼び出す。
do_action( 'set_object_terms', $object_id, $terms, $tt_ids, $taxonomy, $append, $old_tt_ids );

ソースファイル

/wp-includes/taxonomy.php

最終更新 : 2022年01月05日 12:15



お勧め

JavaScriptテンプレートを使ってみた(2018年8月21日 更新)

前回の記事」で取り上げた「WordPress Events and News」ウィジェットでは入力された地名のAJAX処理してその地名近隣のイベント情報を表示している。特に表示部分では「JavaScriptテンプレート」が採用されており、今更ながら調べてみた。

投稿ページでユニークなテンプレートを選択しよう(2018年5月27日 更新)

4.7の変更点に「投稿タイプテンプレート」がある。これは従来固定ページ('page')向けに任意のテンプレートを適用できる機能が拡張されたもので、投稿ページ('post')はもちろんカスタム投稿タイプのページにも適用可能になっている。

任意の名前でエラーログファイルを指定する(2019年2月15日 更新)

来週にはWordPress 5.1がリリース。RC1のソースコードを見ていると、 wp_debug_mode関数が変更されており、興味深かった。

投稿内容のid属性などを保存するための対策(2012年6月15日 更新)

WordPress 3.4にアップデートしたとある環境で投稿記事を保存すると、divタグなどのid属性がクリアされて保存するようになった(id属性が保存できなくなった)。ここでは、その対策方法の1つを紹介しておく。

query_posts(WP_Queryクラス)でカテゴリーを絞り込む(2011年9月14日 更新)

久しぶりに query_posts関数を見直してみると、見知らぬパラメータがいくつか追加されていた。気になったのでカテゴリー関係の指定を'tax_query'パラメータを交えて整理してみた。