0

カテゴリを挿入しようとしています

$apples = "granny smith"

新しい投稿の一部として。

次のスクリプトを使用すると、タグ付きの新しい投稿を簡単に作成できます。

$my_post = array(
    'post_title' => $title,
    'post_content' => $content,
    'post_status' => 'publish',
    'post_author' => 1,
    'tags_input' => $apples,
    'post_type' => 'post'
    );
wp_insert_post( $my_post );

しかし、何らかの理由で、WP codex リストにもかかわらず

'post_category'

カテゴリの場合、次のコードは新しいカテゴリ "granny smith" を作成せず、代わりに新しい投稿を "uncategorized" として入力します。

$my_post = array(
    'post_title' => $title,
    'post_content' => $content,
    'post_status' => 'publish',
    'post_author' => 1,
    'post_category' => $apples
    'post_type' => 'post'
    );
wp_insert_post( $my_post );

誰かがコードを手伝ってくれますか? どこが間違っていますか?

4

1 に答える 1

0

ドキュメントによるとカテゴリはカテゴリIDの配列として追加する必要があるようです。

$id_for_category_ganny_smith = 12;
$my_post = array(
    'post_title' => $title,
    'post_content' => $content,
    'post_status' => 'publish',
    'post_author' => 1,
    'post_category' => array($id_for_category_ganny_smith),
    'post_type' => 'post'
    );
wp_insert_post( $my_post );

ドキュメントには次のように記載されています。

カテゴリは、データベース内のカテゴリIDと一致する整数の配列として渡す必要があります。これは、投稿に1つのカテゴリのみが割り当てられている場合でも当てはまります。

追加するカテゴリのIDがわからない場合は、次のことを試すことができます。

$apples_slug = "granny_smith"
$my_post = array(
    'post_title' => $title,
    'post_content' => $content,
    'post_status' => 'publish',
    'post_author' => 1,
    'post_type' => 'post'
    );
$post_ID = wp_insert_post( $my_post );
wp_set_post_terms( $post_ID, $apples_slug, 'category')
于 2012-09-12T14:40:57.123 に答える