当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「関数リファレンス/wp set post terms」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(最初の和訳。)
(関連項目)
100行目: 100行目:
 
{{DEFAULTSORT:Wp_set_post_terms}}
 
{{DEFAULTSORT:Wp_set_post_terms}}
 
[[Category:関数]]
 
[[Category:関数]]
 +
[[Category:タクソノミー]]
  
 
[[en:Function Reference/wp_set_post_terms]]
 
[[en:Function Reference/wp_set_post_terms]]
 
[[it:Riferimento_funzioni/wp_set_post_terms]]
 
[[it:Riferimento_funzioni/wp_set_post_terms]]

2014年8月3日 (日) 01:04時点における版

投稿にタームをセットします。

関数の内部で wp_set_object_terms() を使用します。

使用法

<?php wp_set_post_terms( $post_id, $terms, $taxonomy, $append ) ?>

パラメータ

$post_id
整数) (必須) 投稿 ID
初期値: 0
$terms
文字列|配列) (オプション) タームのリスト。配列またはコンマ区切りの文字列。カテゴリーのように階層のあるタームを入れるには、ID を使う。タグのように階層のないタームを追加するには、名前を使う。
初期値: array
$taxonomy
文字列) (オプション) タームを関連づけるコンテキストであるタクソノミー。例: 'category', 'post_tag', 'taxonomy slug'
初期値: post_tag
$append
真偽値) (オプション) true ならタームが投稿に追加されます。false なら既存のタームを置き換えます。
初期値: false

戻り値

(配列|真偽値|WP_Error|文字列) 
  • (配列) 成功した場合、変更されたタームの配列。
  • (真偽値) $post_id が整数でなかった場合、false (if ( ! (int) $post_id )) を返す。
  • (WP_Error) 無効なタクソノミーの場合、WordPress Error オブジェクト('invalid_taxonomy')。
  • (文字列) $terms パラメータに指定されたタームの何れかが誤って名付けられていた場合、最初の無効なターム(ただし、無効なターム ID は受け入れられ、挿入されます)。

フック

情報募集中 クリエイティブな例を求めています。外部サイトへのリンクでも構いません。 該当部分を編集するか、このページのノートまたはフォーラム等で教えてください。


参考

階層のあるターム(カテゴリーなど)の場合、ターム名ではなく ID を指定してください。 同じ名前で親が違うタームとの混同を避けるためです。

次のようにしてターム ID を取得できます:

$term_id = term_exists( $term, $taxonomy, $parent );

さらに、パラメータを参照渡しする必要があるかもしれません:

wp_set_post_terms( $post_id, $term, &$taxonomy );

階層のないターム(タグなど)の場合、タームの名前または ID を指定します。 ID を指定するときは一つだけ注意してください: 必ず整数として、そして必ず配列に入れなければなりません。 配列ではない値は(自動的に)文字列に変換され、(ID ではなく)ターム名だと解釈されるためです。

$tag = '5'; // 誤り。「名前」が '5' であるタグが付く。
$tag = 5; // 誤り。これも名前が '5' であるタグが付く。
$tag = array( '5' ); // 誤り。これでも ID ではなくタームの名前だと解釈される。

$tag = array( 5 ); // 正しい。これで ID が 5 のタグが付く。
wp_set_post_terms( $post_id, $tag, $taxonomy );
  • この関数は標準の投稿タイプに対してのみ使えます。カスタム投稿タイプにタクソノミー(ターム)を付けるには wp_set_object_terms() を使用してください。

改訂履歴

  • 2.8.0 にて導入されました。

ソースファイル

wp_set_post_terms()wp-includes/post.php にあります。

タームタグ: is_term(), term_exists(), get_objects_in_term(), get_term(), get_term_by(), get_term_children(), get_term_link(), get_terms(), get_the_terms(), get_the_term_list(), has_term(), sanitize_term(), the_terms(), get_object_taxonomies() is_object_in_taxonomy() the_taxonomies() wp_get_object_terms(), wp_set_object_terms(), wp_get_post_terms(), wp_set_post_terms(), wp_delete_object_term_relationships()


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/wp_set_post_terms最新版との差分