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



お勧め

フィードにサムネイル画像を追加する(2022年11月1日 更新)

WordPressが出力するの標準のフィードには、各投稿のサムネイル画像の情報が含まれていない。ネットで検索してみるといくつかの方法があることがわかったので、その中から2つ試してみた。

投稿一覧に「投稿フォーマット」フィルターが追加される(2019年4月12日 更新)

WordPress 5.2 Beta2(以降5.2Beta2)のソースコードを眺めていると、投稿一覧ページのフィルター機能に「投稿フォーマット」(select要素)が追加されていた。

5.5の機能強化:コメントフォームのちょっとした改良(2020年8月12日 更新)

来月にリリースされるWordPress 5.5に向けてBeta 1、2、3と公開が続いている。「WordPress 5.5 Beta 3(以降Beta 3)」のソースコードを見ていくと、コメントフォームを表示する comment_form関数が機能拡張されていた。

Login rebuilderに「XML-RPC設定」を追加しました(2018年5月27日 更新)

公式サイトで公開しているプラグイン「Login rebuilder」をバージョンアップし、XML-RPCリクエストの管理機能を追加しました。Login rebuilderの主たる機能は、ログインページをサイト別にユニークなURLに変更し、ログインページへの不正アクセスを回避することです。WordPressのXML-RPCリクエストはピンバックや外部ツールやサイトなどとの連携に利用されていますが、今回追加した機能ではXML-RPCリクエストの処理に対していくつかの制限できるようにしています。

index.htmlでアーカイブページを表示させる(2011年10月14日 更新)

静的なサイトでは、各ディレクトリにindex.htmlファイルを置き、そのディレクトリの内容を紹介することが多い。WordPressで構築したサイトも同様にできないかと考え、試行錯誤してみた(こんなことを考えてるのは自分だけだろうか!?)。