wp_set_object_terms

(2.3.0以降)
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

関連

お勧めコンテンツ

3.6リリース直前チェック(2013年7月26日 登録)

$wpdbは、WordPressのデータベースにアクセスする際に使用できる便利なオブジェクト。独自テーブルの利用やデータ検索の最適化など、標準提供される関数では実現できないことを手助けしてくれる。そんな$wpdbのescapeメソッドが3.6で非推奨(deprecated)になる。

Paste JSON text:プラグイン作ってみました(2012年1月19日 登録)

動作検証用のサーバーと本番サーバーで投稿データの同期作業(コピー&ペースト)を支援するプラグインです。動作検証用のサーバーで投稿記事をJSONテキストに変換してクリップボードにコピー。本番サーバーの新規投稿ページでクリップボードにコピーしたJSONテキストをペーストして、投稿記事のコピー&ペーストを実現します。複数サーバー間で投稿記事の同期を行っている方は、お試しあれ。

同じ名前のメタ情報をまとめて削除する(2014年3月21日 登録)

WordPressには、投稿情報、コメント情報、ユーザ情報のそれぞれを拡張できるメタ情報の仕組みが用意されている。投稿情報のメタ情報は「カスタムフィールド」として投稿画面に用意されているので投稿者自身が随時操作できるほか、テーマやプラグインからの操作も容易である。今回の中身はそんなメタ情報の一括削除の話だ。

リクエスト応答を終了する前に何かを処理する(2013年9月26日 登録)

PHPでは、register_shutdown_function関数を使うことでリクエストに対してレスポンスを返した後に何らかの処理を行うことができる。WordPressでもregister_shutdown_function関数は使えると思うのだが、テーマ内のテンプレートでページを表示した後で何かを行う場合はどうすればいいのか、ちょっと調べてみた。

常時SSL接続に変更しました(2017年3月3日 登録)

先週末、本サイトを常時SSL接続に変更しました。本サイトは「さくらのVPS」(CentOS 6系、Apache 2.2系)上にWordPressのマルチサイト機能を使って構築しており、無償で使用できる「Let's Encrypt」を使って常時SSL接続に切り替えた手順をメモとして残しそうと思います。

最終更新日時 : 2013-08-08 15:33