首页 > 解决方案 > 在产品名称旁边发送支付网关 woocommerce 产品描述

问题描述

我想发送

function getProductsJson($order,$options) {
    $stupid_mode = $options['stupid_mode'];
        $items=$order->get_items();
        $arr = [];
        foreach ($items as $item) {
            $data = $item->get_data();

            $arr[] = [
                'productSKU' => $data['product_id'],
                'description' => $data['name'],
                'quantity' => $data['quantity'],
                'price' => $data['total'] / $data['quantity'],
            ];
    }
}

在这部分:

'description' => $data['name'],

我希望它在产品名称旁边发送产品描述,如下例所示:

产品名称 - 产品描述

怎样才能做到这一点?

此致

标签: phpwordpresswoocommerce

解决方案


如果您需要保存在 $content 中的产品描述,您可以通过 Product_ID 获取它,然后将其添加到您的数组中:

function getProductsJson($order,$options) {
  $stupid_mode = $options['stupid_mode'];
  $items=$order->get_items();
  $arr = [];
  foreach ( $items as $item ) {
    $data = $item->get_data();
    $product_description = get_post( $data['product_id'] )->post_content;
    $arr[] = [
            'productSKU' => $data['product_id'],
            'name' => $data['name'],
            'description' => $product_description,
            'quantity' => $data['quantity'],
            'price' => $data['total'] / $data['quantity'],
    ];
  }
}

或者,如果您需要内置 woocommerce 产品描述,请尝试以下操作:

function getProductsJson($order,$options) {
  $stupid_mode = $options['stupid_mode'];
  $items=$order->get_items();
  $arr = [];
  foreach ( $items as $item ) {
    $data = $item->get_data();
    $product_instance = wc_get_product( $data['product_id'] );
    $product_full_description = $product_instance->get_description();
    $product_short_description = $product_instance->get_short_description();
    $arr[] = [
            'productSKU' => $data['product_id'],
            'name' => $data['name'], // or $data['description']
            'description' => $product_full_description, // or $product_short_description
            'quantity' => $data['quantity'],
            'price' => $data['total'] / $data['quantity'],
    ];
  }
}

推荐阅读