我使用以下代码生成 woocommerce 属性数组:
$customAttributes = array();
$attributes = $product->get_attributes();
foreach($attributes as $attr=>$attr_deets){
$attribute_label = wc_attribute_label($attr);
if ( isset( $attributes[ $attr ] ) || isset( $attributes[ 'pa_' . $attr ] ) ) {
$attribute = isset( $attributes[ $attr ] ) ? $attributes[ $attr ] : $attributes[ 'pa_' . $attr ];
if ( $attribute['is_taxonomy'] ) {
array_push($customAttributes, array(
$attribute_label => implode( ', ', wc_get_product_terms( $product->id, $attribute['name'], array( 'fields' => 'names' ) ) )
));
} else {
array_push($customAttributes, array(
$attribute_label => $attribute['value']
));
}
}
}
上面的代码工作正常并输出以下代码数组:
{
"att-1": "value 1 | value 2"
},
{
"att-2": "value 1 | value 2"
}
我想将其格式更改为:
{
"type": "att-1",
"value": "value 1",
"value": "value 2"
},
{
"type": "att-2",
"value": "value 1",
"value": "value 2",
},
类型和值是静态的
我尝试过更改它,但是不知道如何使其按要求工作。
感谢您的帮助,期待专业人士的解决方案。
艾哈迈德
没关系,我发现这是不可能的,也不是数组的正确语法,我设法让以下代码正常工作:
{
"att-1": "value 1 | value 2"
},
{
"att-2": "value 1 | value 2"
}