在Woocommerce中以编程方式添加新产品类别

时间:2018-11-24 17:06:18

标签: php database wordpress woocommerce custom-taxonomy

我在Wordpress网站上工作,并且正在使用Woocommerce,我有很多产品类别,我想在代码中添加它们,而不是在Wordpress CMS本身中添加它们。

有人知道我如何进入代码中添加类别的代码。我到处都看过,即使在数据库中也找不到。而且我还想更改代码中的菜单,因为这样也可以减少很多工作。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

Woocommerce产品类别术语是WordPress自定义分类法product_cat

  

在数据库中,数据也位于表wp_termswp_term_taxonomywp_termmetawp_term_relationships下。

1)要以编程方式添加新的产品类别术语,您将使用专用的WordPress功能wp_insert_term(),例如:

// Adding the new product category as a child of an existing term (Optional) 
$parent_term = term_exists( 'fruits', 'product_cat' ); // array is returned if taxonomy is given

$term_data = wp_insert_term(
    'Apple', // the term 
    'product_cat', // the Woocommerce product category taxonomy
    array( // (optional)
        'description'=> 'This is a red apple.', // (optional)
        'slug' => 'apple', // optional
        'parent'=> $parent_term['term_id']  // (Optional) The parent numeric term id
    )
);

这将返回一个包含term Id术语分类法ID 的数组,例如:

array('term_id'=>12,'term_taxonomy_id'=>34)

2)菜单顺序::要设置甚至更改产品类别的菜单顺序,您将使用add_term_meta() Wordpress功能。

您将需要产品类别的术语ID和唯一的订购数字值(例如 2 ):

add_term_meta( $term_data['term_id'], 'order', 2 );

3)缩略图:您还将使用add_term_meta()使用之类的东西将缩略图ID设置为产品类别(其中最后一个参数是数字缩略图ID引用)

add_term_meta( $term_data['term_id'], 'thumbnail_id', 444 );

4)在产品中设置产品类别:

现在将此新产品类别“ Apple”设置为现有产品ID ,您将使用类似(带有从新创建的“ Apple”产品中生成的相应$term_id)的名称类别)

wp_set_post_terms( $product_id, array($term_data['term_id']), 'product_cat', true );

以供参考:函数wp_set_post_terms()