wp_set_post_categories()


WordPressのwp_set_post_categories()関数は、指定された投稿にカテゴリーを設定するために使用されます。この関数は、投稿IDとカテゴリーIDの配列を受け取り、その投稿にカテゴリーを関連付けます。

構文

wp_set_post_categories( int $post_id, array $post_categories = false, bool $append = false );

引数の説明:

  • $post_id (int) — カテゴリーを設定する投稿のID。
  • $post_categories (array) — 投稿に設定するカテゴリーIDの配列。デフォルトはfalseで、この場合、投稿のカテゴリーは変更されません。
  • $append (bool) — trueに設定すると、指定されたカテゴリーが既存のカテゴリーに追加されます。falseに設定すると、既存のカテゴリーが置き換えられます。

例1: 投稿にカテゴリーを設定する

この例では、投稿IDが5の投稿にカテゴリーIDが2と3のカテゴリーを設定します。

wp_set_post_categories(5, array(2, 3));

例2: 既存のカテゴリーにカテゴリーを追加する

この例では、投稿IDが5の投稿にカテゴリーIDが4のカテゴリーを追加します。

wp_set_post_categories(5, array(4), true);

例3: 現在の投稿にカテゴリーを設定する

この例では、現在表示されている投稿にカテゴリーIDが1のカテゴリーを設定します。

wp_set_post_categories(get_the_ID(), array(1));

例4: カテゴリーを置き換える

この例では、投稿IDが5の投稿のカテゴリーをカテゴリーIDが6のカテゴリーに置き換えます。

wp_set_post_categories(5, array(6));

例5: 複数のカテゴリーを設定する

この例では、投稿IDが5の投稿に複数のカテゴリーを設定します。

wp_set_post_categories(5, array(2, 3, 4));

例6: カテゴリーを追加せずに置き換える

この例では、投稿IDが5の投稿のカテゴリーをカテゴリーIDが7のカテゴリーに置き換えます。

wp_set_post_categories(5, array(7), false);

例7: カテゴリーを追加する

この例では、投稿IDが5の投稿にカテゴリーIDが8のカテゴリーを追加します。

wp_set_post_categories(5, array(8), true);

例8: カテゴリーをクリアする

この例では、投稿IDが5の投稿からすべてのカテゴリーを削除します。

wp_set_post_categories(5, array());

注意点

  • カテゴリーIDが存在しない場合、関数は何も変更しません。
  • 投稿IDが無効な場合、関数は何も変更しません。
  • カテゴリーを追加する場合、既存のカテゴリーが保持されます。

関連機能: