在 Woocommerce 中以编程方式添加新产品类别
Posted
技术标签:
【中文标题】在 Woocommerce 中以编程方式添加新产品类别【英文标题】:Add new product categories programmatically in Woocommerce 【发布时间】:2019-04-26 21:08:12 【问题描述】:我在一个 Wordpress 网站上工作,我正在使用 Woocommerce,我有很多产品类别,我想将它们添加到代码中,而不是 Wordpress CMS 本身。
有谁知道我如何进入可以添加类别的代码。我到处寻找,即使在数据库中也找不到。而且我还想在代码中更改我的菜单,因为这样工作量也会少很多。
感谢任何帮助。
【问题讨论】:
【参考方案1】:Woocommerce 产品类别术语是 WordPress 自定义分类法product_cat
...
在数据库中数据也位于表
wp_terms
、wp_term_taxonomy
、wp_termmeta
和wp_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 参考) em>:
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()
【讨论】:
以上是关于在 Woocommerce 中以编程方式添加新产品类别的主要内容,如果未能解决你的问题,请参考以下文章
在 Woocommerce 管理订单编辑页面中以编程方式添加自定义订单备注
在 WooCommerce 中以编程方式收取保存的 Stripe 卡
自定义以编程方式在 Woocommerce 中添加运费 [重复]