WP_INSERT_POST或wp_SET_POST_TERMS不保存分类,但wp_SET_POST_TERMS保存分类

时间:2013-01-07 作者:Chris

我有个小问题。我有一个自定义分类法“rodzaj”,其值为I.ex.obrazek。我使用此代码添加帖子:

$postArray = array(
                \'post_status\' => \'publish\',
                \'post_author\'=> get_current_user_id(),
                \'post_category\'=>array($catId),
                \'post_title\' => $_POST[\'titlePhoto\'],
                \'tax_input\' => array( \'rodzaj\' => array( \'obrazek\') ) , 
);
这段代码添加了一篇文章,但没有分类法。我也试过:

wp_set_object_terms($postId, "obrazek", \'rodzaj\', false);
也不管用。

工作代码为:

wp_set_post_terms( $postId, array( \'obrazek\'), \'rodzaj\' );
为什么前两个函数不起作用?

我一开始就犯了错误。这是完整的工作代码:

$catId = get_cat_ID("Obrazki");

         $postArray = array(
            \'post_status\' => \'publish\',
            \'post_author\'=> get_current_user_id(),
            \'post_category\'=>array($catId),
            \'post_title\' => $_POST[\'titlePhoto\'],
            \'tags_input\' => explode(\',\', $_POST[\'tagsPhoto\'])
         );


         $postId = wp_insert_post($postArray);
         if($postId) 
         {
              wp_set_object_terms($postId, "obrazek", \'rodzaj\', false);

          }
仍然不起作用:wp\\u set\\u post\\u terms($postId,“obrazek”,“rodzaj”,false);

和postArray()中的“tax\\u input”=>数组(“rodzaj”=>数组(“obrazek”))

2 个回复
SO网友:Tom J Nowell

您是否尝试过:

wp_set_object_terms( $postId, array( \'obrazek\'), \'rodzaj\' );
wp_set_object_termswp_set_post_terms 采用相同的参数。wp_set_post_terms 甚至在内部使用wp\\u set\\u object\\u术语。主要区别在于,在有效的数组中使用了数组,而在无效的数组中没有使用数组。

SO网友:Luca Reghellin

如果分类法是分层的,那么wp\\u insert\\u post的tax\\u输入参数需要一个数组If id,而不是slug。

\'tax_input\' => array(
  \'name_of_taxonomy\' => array(125) // say your term_id is 125
)
执行此操作后,您可能需要使用以下内容更新术语计数:

add_action(\'init\',\'reset_terms_counts\', 11, 0);
function reset_terms_counts(){

    $terms_ids = get_terms(array(
      \'taxonomy\' => \'taxonomy_name\'
      ,\'fields\' => \'ids\'
      ,\'hide_empty\' => false
    ));

    if(is_array($terms_ids)) wp_update_term_count_now($terms_ids, \'taxonomy_name\');
  }
}

结束

相关推荐