説明
パラメータ
- $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 );
do_action( 'added_term_relationship', $object_id, $tt_id );
do_action( 'delete_term_relationships', $object_id, $delete_terms );
do_action( 'deleted_term_relationships', $object_id, $delete_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
関連
お勧め
固定ページを投稿ページ用テンプレートファイル(single.php)で表示する(2013年7月31日 更新)
固定ページと投稿ページのデザインが共通の場合、同じ内容のsingle.phpとpage.phpを用意すれば事足りるが、デザインの修正時は二度手間になってしまう。そこで、固定ページをsingle.phpで表示するようにできないか考えてみた。
タイトルが一致する投稿を検索する(2014年2月20日 更新)
WordPressが提供する投稿ページの文字列検索機能の実現には、 query_posts関数(WP_Queryクラス)が大きな役割を担っている。ここで紹介するのは、高機能ゆえに使いこなすのが難しいquery_posts関数(WP_Queryクラス)の使用法の一例である。
フォーム内のエスケープ処理を考える(2018年10月19日 更新)
WordPressにはエスケープ処理を行う esc_html関数と esc_attr関数がある。HTML要素(タグ)の属性値ならesc_attr関数を、それ以外はesc_html関数を使うことがほとんどだが、今回esc_html関数が適していないと思われるケースに遭遇した。
ダッシュボードのフィードボックスをカスタマイズ(2011年7月8日 更新)
管理者ページのトップページ「ダッシュボード」には、「WordPress 開発者ブログ」と「WordPress フォーラム」という2つのフィードボックスが表示されている。自分のような開発者には有益な情報をもたらしているが、一般の方には必要のない情報かもしれない。今回はこのフィードボックスをカスタマイズする方法を紹介する(管理者権限)。classic editorプラグインを試してみた(2018年12月10日 更新)
WordPress 5.0 beta1のリリースにあわせて旧エディター環境を実現できる「classic editor」(バージョン0.5.0)が公開された。自分が公開しているプラグインの一部が旧エディター環境に依存していることもあり、さっそく試してみた。WordPress 5.0正式リリースに合わせてclassic editorも1.0がリリースされたので、それについて追記しました。