0

我试图插入类别

$apples = "granny smith"

作为新帖子的一部分。

我可以使用以下脚本轻松创建带有 TAG 的新帖子:

$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 法典列出

'post_category'

对于类别,以下代码不会创建新类别“granny smith”,而是将新帖子输入为“未分类”:

$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 匹配的整数数组传递。即使仅将一个类别分配给帖子也是如此。

如果您不知道要添加的类别的 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 回答