将 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 产品中设置的自定义属性值