更改通过 WooCommerce 生成的数组的格式

问题描述 投票:0回答:1

我使用以下代码生成 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",
    },

类型和值是静态的

我尝试过更改它,但是不知道如何使其按要求工作。

感谢您的帮助,期待专业人士的解决方案。

艾哈迈德

  • WP 开发新手
php arrays wordpress woocommerce custom-data-attribute
1个回答
0
投票

没关系,我发现这是不可能的,也不是数组的正确语法,我设法让以下代码正常工作:

    {
    "att-1": "value 1 | value 2"
  },
  {
    "att-2": "value 1 | value 2"
  }
© www.soinside.com 2019 - 2024. All rights reserved.