我正面临着产品变化及其在woocommerce中的属性的大问题 . 我正在尝试显示每个可用产品变体的每个属性的表格 . 但Woocommerce以小写形式保存post meta complete中的属性,替换斜线和德语特殊字符,如ü,ö,ä等 . 我使用$ variation-> get_variation_attributes()获取属性 . 我在数据库中搜索了您可以看到的保存值,例如在管理面板的下拉列表中,但它们是这样保存的,没有指向它们所分配的变体的链接:
a:5:{s:10:"bestell-nr";a:6:{s:4:"name";s:11:"Bestell-Nr.";s:5:"value";s:9:"1 | 2 | and so on...
如何以正确的格式显示属性?
谢谢你的帮助!
6 回答
实际上,产品属性实际上是自定义分类中的术语,因此您只需要获取该特定分类中的术语 . 所有属性分类都以'pa_'开头 . 因此,size属性将是'pa_size'分类法 . 变体ID是变体的帖子ID .
但是根据你想要如何显示它,WooCommerce有一个内置函数来显示所有变体的属性:
以下内容将显示所有变体属性的定义列表 .
传递
true
的第二个参数将显示一个平面列表:这似乎对我有用 . 希望这可以帮助 .
这可以在class-wc-product-variable.php中找到
所以基本上如果你浏览那个页面就可以找到一堆有用的功能 .
这是我放在一起的东西 .
我只想发布一个变体属性而不是所有属性;贡献此代码,以防它对其他人有帮助 .
get_variation_attributes()获取所有属性
wc_get_formatted_variation()返回它所传递的数组的格式化版本
我这样做的方法是使用“get_post_meta”:
希望这有助于某人 .
我使用wp_get_post_terms来获取正确的方差属性 .
结果:
在硬编码之前
硬编码后:
刚刚经历过......这是我的解决方案 . 它处理多个属性和所有变体 . 你只需知道属性slug .