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

最終更新 : 2013年08月08日 15:33



お勧め

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

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

the_date関数で投稿日を確実に表示する(2011年12月20日 更新)

投稿記事の投稿日時を表示する際、 the_date関数を使用することが多いだろう。このthe_date関数はphpのdate関数と同じパラメータを指定することで、好みの日時フォーマットで投稿日時を表示できるのだが、ある条件の場合に投稿日時を表示しない。最初にこの現象に遭遇したときは、ちょっと悩まされた。

スクリプトファイルのバージョンパラメータを変更する(2018年5月27日 更新)

Java Scriptやスタイルシートの指定を直接head要素内に記述せず、wp_enqueue_scriptsフィルターなどを使って指定する場合、WordPressのバージョン番号が付与されている。このバージョン番号は、妥当なんだろうか。

ログアウト後はいつもサイトトップ(2018年5月27日 更新)

ログアウト後に表示(リダイレクト)されるページは、標準ではログインページ(wp-login.php)である。4.2.0ではログアウト処理後のページリダイレクト前に呼び出されるフィルターが追加された。

カレンダーウィジェットをAjaxで切り替える(2011年8月22日 更新)

ウィジェットベースでテーマを構築していてカレンダーを表示してみた。標準では、前月や次月のリンク先はそれぞれの月のアーカイブページとなっているのだが、記事を探すだけであればカレンダー部分だけを更新するほうが便利なのではと考え、そのアイデアを実装してみた。