将 WooCommerce 自定义产品属性转换为定义的产品属性

Posted

技术标签:

【中文标题】将 WooCommerce 自定义产品属性转换为定义的产品属性【英文标题】:Convert WooCommerce Custom Product Attributes into Defined Product Attributes 【发布时间】:2016-12-20 23:44:57 【问题描述】:

我正在尝试使用 WooCommerce 的分层导航属性过滤器侧边栏小部件过滤 WooCommerce 商店中的约 30,000 种产品。这需要使用预定义的产品属性分类法,而不是基于每个产品使用自定义属性。

商店中的每个产品都有一个导入的自定义“品牌”属性。在导入产品之前,我在 wp-admin 中创建了一个名为 'Brand' (pa_brand) 的属性分类。但是,进口产品的品牌属性(和术语名称)尚未添加到品牌 (pa_brand) 分类中。相反,所有产品都有一个名为 'Brand' 的自定义属性,未链接到 pa_brand 分类。

有谁知道如何将自定义产品属性转换为预定义分类中的定义属性(尚未创建术语)?

我假设我需要运行一个 php 脚本来执行以下操作,但不知道我是否错过了任何步骤:

    获取数据库中所有产品的 ID 数组 循环遍历每个产品 ID (foreach) 从每个产品 ID 中获取_attributes() - 这将返回自定义“品牌”属性(尚无 pa_brand 分配) 检查:如果品牌术语已存在于 pa_brand 分类中,则不执行任何操作;如果没有,请将该词添加到 pa_brand 分类中 将产品分配给 pa_brand 分类中的术语 删除旧的自定义品牌产品属性

我不确定如何最好地执行此操作,因此非常感谢任何帮助。

PS:为了说明“自定义属性”和分类中定义的属性之间的区别,我在下面添加了 2 个屏幕截图,说明它们在 WooCommerce 中编辑产品时的不同之处。请注意,如果不是来自定义的分类,如何更改属性名称。

分类中定义的属性:

自定义属性:

谢谢

【问题讨论】:

【参考方案1】:

好像以前有人这样做过 - https://gist.github.com/birgire/0ed300ae4436fcaf508c

【讨论】:

以上是关于将 WooCommerce 自定义产品属性转换为定义的产品属性的主要内容,如果未能解决你的问题,请参考以下文章

获取产品自定义属性以在 WooCommerce 产品循环中显示它们

以编程方式更新 WooCommerce 产品中设置的自定义属性值

将带有值的产品属性添加到 Woocommerce 中的产品

用每个自定义图像替换 WooCommerce 属性标签

php 用于向woocommerce产品属性添加自定义复选框以隐藏购物车按钮的功能

将高级自定义字段添加到 WooCommerce 产品变体