wp_insert_term

説明

mixed wp_insert_term( string $term, string $taxonomy [ , mixed $args = array() ] )
ターム(カテゴリや投稿タグ)を登録する。

パラメータ

  • $term
    ターム名を指定。
  • $taxonomy
    'category'や'post-tag'などのタクソノミー名を指定。
  • $args
    付加情報を連想配列または文字列で指定(省略時はarray())。連想配列の要素は次の通り。
    キー名内容省略時の値
    'alias_of'グループ用''
    'description'説明''
    'parent'親ターム(カテゴリ)のID(親がない場合は0)0
    'slug'スラッグ''

返り値

タームが登録できた場合は'term_id'と'term_taxonomy_id'を要素に持つ連想配列を、登録できなかった場合は WP_Errorオブジェクトを返す。

[5.1.0]重複するターム情報が見つかった場合は、先に登録されていたターム情報の'term_id'と'term_taxonomy_id'を要素に持つ連想配列を返す。


注意

パラメータ$argsを省略した場合、付加情報は次のようになる。

array( 'alias_of' => '', 'description' => '', 'parent' => 0, 'slug' => '')

使用例

  • 投稿タグ'新商品'を登録する。
    <?php wp_insert_term( '新商品', 'post_tag' ); ?>
  • 小カテゴリ'トマト'を登録する(親カテゴリのIDは10)。
    <?php wp_insert_term( 'トマト', 'category', array( 'slug'=>'tomato', 'parent'=>10 ) ); ?>

フィルター

[3.0.0]タクソノミーの存在を確認後、'term_id_filter'フィルターを呼び出す。パラメータ$term$taxonomyには本関数が受け取った内容が格納されている。
$term = apply_filters( 'pre_insert_term', $term, $taxonomy );
[4.7.0]ターム情報を登録する前に'wp_insert_term_data'フィルターが呼び出す。パラメータ$dataにはターム情報(連想配列)が、$taxonomyにはタクソノミー名が、$argsには本関数が受け取った内容にデフォルト値がマージされたものが格納されている。
$data = apply_filters( 'wp_insert_term_data', $data, $taxonomy, $args );
[5.1.0]ターム情報を登録した後に'wp_insert_term_duplicate_term_check'フィルターを呼び出す。パラメータ$duplicate_termには重複するターム情報がある場合はそれが格納されており、このフィルターの返り値がそのまま(空以外)の場合は、本関数の呼び出しで登録したターム情報は削除される。パラメータ$termおよび $taxonomyには本館数が受け取った内容が、$argsには本関数が受け取った内容にデフォルト値がマージされたものが、$tt_idにはタームタクソノミー情報のIDが格納されている。
$duplicate_term = apply_filters( 'wp_insert_term_duplicate_term_check', $duplicate_term, $term, $taxonomy, $args, $tt_id );
[2.3.0]タームの登録後("create_{$taxonomy}"アクションの実行後)に'term_id_filter'フィルターを呼び出す。パラメータ$term_idにはターム情報のIDが、$tt_idにはタームタクソノミー情報のIDが格納されている。
$term_id = apply_filters( 'term_id_filter', $term_id, $tt_id );

アクション

ターム情報の更新直前に'edit_terms'アクションを実行する。パラメータ$term_idにはターム情報のIDが格納されている。
do_action( 'edit_terms', $term_id );
ターム情報の更新直後に'edited_terms'アクションを実行する。パラメータ$term_idにはターム情報のIDが格納されている。
do_action( 'edited_terms', $term_id );
[2.3.0]タクソノミー情報の追加後に"create_term"アクションを実行する。パラメータ$term_idにはターム情報のIDが、$tt_idにはタームタクソノミー情報のIDが、$taxonomyにはタクソノミー名が格納されている。
do_action( "create_term", $term_id, $tt_id, $taxonomy );
[2.3.0]タクソノミー情報の追加後に"create_{$taxonomy}"アクションを実行する($taxonomyは'category'や'post_tag'など)。パラメータ$term_idにはターム情報のIDが、$tt_idにはタームタクソノミー情報のIDが格納されている。
do_action( "create_{$taxonomy}", $term_id, $tt_id );
[2.3.0]キャッシュクリア後(返り値を返す直前)に"created_term"アクションを実行する。パラメータ$term_idにはターム情報のIDが、$tt_idにはタームタクソノミー情報のIDが、$taxonomyにはタクソノミー名が格納されている。
do_action( "created_term", $term_id, $tt_id, $taxonomy );
[2.3.0]キャッシュクリア後(返り値を返す直前)に"created_{$taxonomy}"アクションを実行する($taxonomyは'category'や'post_tag'など)。パラメータ$term_idにはターム情報のIDが、$tt_idにはタームタクソノミー情報のIDが格納されている。
do_action( "created_{$taxonomy}", $term_id, $tt_id );
[5.5.0]"created_{$taxonomy}"アクションの後に'saved_term'アクションを実行する。パラメータ$term_idにはターム情報のIDが、$tt_idにはタームタクソノミー情報のIDが、$taxonomyにはタクソノミー名が、$updateにはfalseが格納されている。
do_action( 'saved_term', $term_id, $tt_id, $taxonomy, $update );
[5.5.0]'saved_term'アクションの後に"saved_{$taxonomy}"アクションを実行する($taxonomyは'category'や'post_tag'など)。パラメータ$term_idにはターム情報のIDが、$tt_idにはタームタクソノミー情報のIDが、$updateにはfalseが格納されている。
do_action( "saved_{$taxonomy}", $term_id, $tt_id, $update );

ソースファイル

/wp-includes/taxonomy.php

最終更新 : 2020年08月31日 11:27



お勧め

投稿一覧ページに「更新日時」カラムを追加してみた(2019年8月27日 更新)

サイトの特性によるが、「投稿」には繰り返し更新するものがある。そんなサイトでは投稿一覧ページに「更新日時」があった方が便利。というわけで、今回は投稿一覧にソートに対応した「更新日時」カラムを追加する方法を紹介する。

連番のユーザーIDを回避できないか考えた(2019年6月4日 更新)

WordPressのユーザーIDは最初の管理者が1、次に追加したユーザーが2といった感じの連番になる。連番のIDはサイトによっては好ましくないケースがあり、連番を回避する方法がないか検討した。

Twenty Seventeenのフォントサイズを変更してみた(2021年12月15日 更新)

先日投稿した「続テーマを変更せずにWebフォントを使ってみた」では、テーマ「Twenty Seventeen」でもWebフォントを使えるようにした。その際、「Twenty Seventeen」のフォントサイズが少し小さく感じたので、今回はフォントサイズを調整してみた。

4.2.3でちょっと変わったショートコード(2018年5月27日 更新)

4.3のリリースまであと少しなわけですが、4.2.3が緊急リリースされました。4.2.2とソースコードを比較すると、ざっくりTinyMCE絡みが多い印象を受けたのですが、ショートコード関連も少し変わっていたので簡単にまとめてみました。

「投稿に挿入」時のタグをちょっとカスタマイズ(2011年7月29日 更新)

投稿画面において、画像をアップロードし投稿に挿入するすると、imgタグをaタグで囲んだものが挿入される(キャプションを指定した場合はタグも)。それらの画像をLightBox(JavaScriptライブラリ)で表示する場合、aタグにrel属性を追加するのだが、その作業を毎回投稿に挿入した後で行うのがちょっと面倒。というわけで、自動的にrel属性を追加するようにしてみました。