wp_create_category()


WordPressのwp_create_category()関数は、指定された名前のカテゴリーを作成するために使用されます。この関数は、既存のカテゴリー名と重複しないように自動的に処理を行い、新しいカテゴリーIDを返します。

シンタックス

wp_create_category( string $cat_name, int $parent = 0 );

引数の説明

  • $cat_name (string) — 作成するカテゴリーの名前。
  • $parent (int) — 親カテゴリーのID (デフォルトは0、トップレベルカテゴリーとして作成されます)。

例1: 新しいカテゴリーの作成

以下のコードは「ニュース」という名前の新しいカテゴリーを作成します。

<?php wp_create_category('ニュース'); ?>

例2: 親カテゴリーを指定してサブカテゴリーを作成

以下のコードは「ニュース」という親カテゴリーの下に「テクノロジー」というサブカテゴリーを作成します。

<?php wp_create_category('テクノロジー', get_cat_ID('ニュース')); ?>

例3: 入力された名前でカテゴリーを作成

フォームから送信されたカテゴリー名で新しいカテゴリーを作成します。

<?php
if ( isset($_POST['category_name']) ) {
    wp_create_category(sanitize_text_field($_POST['category_name']));
}
?>

例4: トップレベルカテゴリーのリストから作成

以下のコードは配列内の名前を使って複数のカテゴリーを作成します。

<?php
$categories = ['音楽', '映画', 'スポーツ'];
foreach ( $categories as $category ) {
    wp_create_category($category);
}
?>

例5: 親カテゴリーを取得して作成

「アート」という親カテゴリーを確認し、その下に「絵画」というサブカテゴリーを作成します。

<?php
$parent_id = get_cat_ID('アート');
if ( $parent_id ) {
    wp_create_category('絵画', $parent_id);
}
?>

注意点

  • カテゴリー名は一意である必要があります。同じ名前のカテゴリーが存在する場合、新しいカテゴリーは作成されず、既存のカテゴリーIDが返されます。
  • ユーザー入力を受け取る場合、必ずsanitize_text_field()関数を使用して入力をサニタイズしてください。

関連機能: