Wordpress wp_set_object_terms到父母

时间:2018-04-24 10:32:37

标签: php wordpress

我有这两个变量:

$mc = "MainCat";
$sc = "SubCat"; //Subcat to $mc

要将对象术语设置为产品,我使用了:

wp_set_object_terms($post_id, $mc, 'product_cat');

但要将$ mc设为$ sc的父级,我该怎么做?

我试过了:

wp_set_object_terms($post_id, [$mc, $sc], 'product_cat');

但这只是将它们作为主要类别。

1 个答案:

答案 0 :(得分:0)

嗯,根据我的说法,为父母和子母slug创建一个数组,如下所示。

我认为这可能会有所帮助。

<强>更新

首先创建父子分类法,然后按其id分配产品帖子。我没有测试但应该工作。

   $parent_term = term_exists('MainCat'); 
   $texonomy_ID = wp_insert_term(
      'SubCat', // the term 
      'product_cat', // the taxonomy
      array(
        'description'=> '',
        'slug' => 'subcat',
        'parent'=> $parent_term['term_id']  // get numeric term id
      )
    );

现在,将$texonomy_ID设置如下。

$cat_slugs = $texonomy_ID['term_id']; /* also you can set unique taxonomy ids */

$term_taxonomy_ids = wp_set_object_terms( $post_id, $cat_slugs, 'product_cat' );  

if ( is_wp_error( $term_taxonomy_ids ) ) {
    // There was an error somewhere and the terms couldn't be set.
} else {
    // Success! The post's categories were set.
}