使用wp_sert_post在现有类别中添加新帖子

时间:2018-05-04 作者:Catalin Stefan

我正在尝试使用函数添加新帖子wp_inser_post 在我现有的一个类别中,我创建了一个名为categorie 在这种分类法中,我有几个类别,但我无法找到解决方案,帖子正在添加,但没有选择任何类别。

  $title =  $_POST[\'postTitle\'];
  $description = $_POST[\'postContent\'];  

  $new_post = array(
    \'post_title\' => esc_attr(strip_tags($title)),
    \'post_content\' => esc_attr(strip_tags($description)),
    \'post_type\' => \'proiecte\',
    \'post_status\' => \'publish\',
    \'post_category\' =>  array(17,16),
    \'taxonomy\'      => \'categorie\'
  );

  $post_id = wp_insert_post($new_post);

2 个回复
SO网友:WebElaine

post_category 仅适用于核心类别。使用tax_input 而是:

$new_post = array( 
    \'post_title\' => esc_attr(strip_tags($title)),
    \'post_content\' => esc_attr(strip_tags($description)),
    \'post_type\' => \'proiecte\',
    \'post_status\' => \'publish\',
    \'tax_input\' => array(
        \'categorie\' => array(17,16)
    )
);
$post_id = wp_insert_post($new_post);
如果您使用的不是categorie - 可能projecte_category - 这样可以更清楚地看到,您使用的是自定义分类法,而不是拼写错误的类别。

SO网友:Sagar Nasit

你可以使用WordPress的wp_set_object_terms 这样做。您可以在之后调用此函数wp_insert_post 呼叫

$post_id = wp_insert_post($new_post);

wp_set_object_terms( $post_id, \'term\', \'categorie\' );
通过传递术语数组,可以传递集合多个术语。切克更多信息。https://developer.wordpress.org/reference/functions/wp_set_object_terms/

结束

相关推荐

在PHP中解码数组(来自Shopify API)

我对PHP开发相对较新,如果能帮助从Shopify REST API(到我正在编写的插件)访问的一系列客户,我将不胜感激。这更多的是关于如何处理返回的内容,而不是API本身。我的代码如下。我已经尝试了很多次迭代,这只是最近的一次失败。我的目标很简单,即检索客户列表。REST API调用正在工作,即如果我将target\\u URL复制到浏览器中,我会很好地收到客户的回复。。。{\"customers\":[{\"id\":<ID>,\"email\":\"<eMail>\"}]}&