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



お勧め

ダッシュボードの「クイックドラフト」を「CodeMirror」に変更してみた(2019年11月5日 更新)

管理ページの「テーマエディター」では4.9以降「CodeMirror」が利用されている。今回はこの「CodeMirror」をプラグインで活用できないか調べた話である。

headタグのmeta(generator)タグを取り除く(2018年5月27日 更新)

標準的なWordPressのテーマで出力されるHTMLには、headタグ内に次のようなmetaタグが出力されている。
<meta name="generator" content="WordPress 3.0.5" />

Blacklist keys manager:プラグイン作ってみました(2015年5月22日 更新)

少し前から明らかにスパムと思われるコメントが投稿され、そのモデレーションメールを受け取る回数が増えてきた。あまりにもあからさまなコメントばかりなので、何らかの対策ができないか考えてみました。

5.5の機能強化:テーマ変更時に要求バージョンを確認(2020年8月12日 更新)

WordPress 5.5 RC 2が公開され、来週には正式版がリリース。変更箇所が多い「WordPress 5.5 RC 2(以降RC 2)」のソースコードを眺めていると、テーマの切り替え前にWordPressとPHPのバージョンを確認するようになっていた。

投稿内容に応じてwpautopを制御する(2013年8月13日 更新)

投稿内容を表示する the_content関数では、 wpautop関数がフィルターの1つとして呼び出され、改行をbrタグに変換したり、pタグで調整したりする。この機能自体は便利なのだが、きちんとデザインされたHTMLソースを流し込んだ場合はこの機能は好ましくない。そんなわけで、記事内容に応じてwpautop関数を制御できないか考えてみた。