我有一个带有自动导入产品的WooCommerce网站,每周刷新一次。这些产品的属性称为 COLOR
和 SIZE
。
但是, COLOR
红色具有这些子属性(例如):
通常,我必须手动添加并将这些子属性分配给"父RED"属性,这是很多工作。
我想知道是否有办法自动执行此操作?
例如,如果属性包含单词RED,则将其分配给父属性RED。
感谢。
答案 0 :(得分:2)
这可以看作一个奇怪的答案。首先,它应该可以帮助您了解WordPress / WooCommerce数据库中的情况,如果您对数据库SQL或MySQL有所了解,它可能是一种很好的选择。
首先解释如何在数据库中设置WooCommerce属性和子属性:
wp_woocommerce_attribute_taxonomies
上进行。attribute_name attribute_label attribute_id attribute_type attribute_orderby attribute_public
color color 1 select menu_order 0
wp_terms
(因此它们是条款)。这里我有3个子属性: 'black'
, 'blue'
和 'green'
:term_id name slug term_group
8 Black black 0
9 Blue blue 0
10 Green green 0
wp_term_taxonomy
中。 'color'
。 term_id
,您将有一个以 'pa_
开头的slug字符串(表示 p < / strong> roduct a ttribute)+主要属性slug color
。 'pa_color'
term_id
相关的产品数量。term_taxonomy_id term_id taxonomy description parent count
8 8 pa_color 0 2
9 9 pa_color 0 1
10 10 pa_color 0 1
wp_term_relationships
中,您会发现产品之间的关系( object_id
列,例如由变体使用)和子属性( term_taxonomy_id
列)。正如您在下面的示例中看到的,子属性由2个产品(object_id
)使用:object_id term_taxonomy_id term_order
22 8 0
40 8 0
40 9 0
22 10 0
SQL解决方案:
如果您可以更改数据库表,那么要更改的有用表是wp_term_taxonomy
数据库表。
- 在
term_id
数据库表中搜索所有子属性wp_terms
。- 将它们与
term_id
数据库表格中的现有wp_term_taxonomy
进行比较- 使用正确的
醇>term_id
slug为wp_term_taxonomy
中的所有现有'taxonomy'
创建每一个。这可以通过PHP 进行SQL查询(您需要根据您的特定需求进行微调)。
我希望这会对你有所帮助。
一些与SQL相关的有用线程 wp_term_taxonomy
: