WordPressでPHPからタグを新規作成・追加する方法

WordPress

この記事はWordPressでPHPからカテゴリを作成・追加する方法の紹介になります。

WP REST API等で動的に記事を投稿する際に存在しないタグを指定した場合でも自動タグを作成して追加したり、一括して複数のタグを作成する際などに利用できます。

wp_create_term()を使ってタグを追加する

WordPressでPHPからタグを作成可能なwp_create_term()というWordPress関数を利用する方法があります。

wp_create_term( 'タグ名', 'post_tag');

wp_create_term()の利用はシンプルで第一引数にタグ名、第二引数にオプション値として’post_tag’を指定します。

また返り値から新規に作成したterm_idを含むデータを取得する事が可能です。

wp_create_term()を利用するにはtaxonomy.phpが読み込まれている必要があります。

PHP

require_once( './wp-admin/includes/taxonomy.php' );
$term_id = wp_create_term( 'タグ名', 'post_tag');
$term_id = $term_id['term_id'];

既に存在しているタグを指定した場合のwp_create_term()は新規作成されず返り値には、存在しているタグのterm_idが含まれているので手前でタグの存在を確認してから処理を振り分ける必要はありません。

また多くのWordPressブログ・サイトではタグのスラッグ名はマルチバイト文字でもそのままかと思いますので不要かと思いますが、wp_create_term()はスラッグ名を指定する事ができません。日本語のタグ名は日本語のスラッグ名になります。

wp_create_term()を使って複数のタグを追加する

wp_create_term()は配列による複数の値を同時に指定する事はできません。

複数のタグを指定する場合は、foreach文などを利用して配列の値文処理を実行します。

PHP

require_once( './wp-admin/includes/taxonomy.php' );

$tags = array('タグ名1','タグ名2','タグ名3');

foreach ($tags as $value) {
wp_create_term( $value, 'post_tag');
}
複数のタグを追加すした結果
複数のタグを追加すした結果

WordPressWP REST API

Posted by ヨウスケ