Название продукта автоматически меняется на «оформить заказ» - PullRequest
0 голосов
/ 28 октября 2019

Я хочу запустить пиксельный код на странице успеха заказа (спасибо). Для этого я собираю необходимые данные и вызываю код JavaScript. Проблема заключается в том, что имя заказанного товара автоматически меняется на «оформить заказ», хотя ни один из кодов не вызывает код мутации / обновления.

function my_custom_tracking($order_id) {
    $order = wc_get_order($order_id);

    $coupons = array();
    foreach($order->get_used_coupons() as $used_coupon) {
        $coupons[] = "$used_coupon";
    }
    $coupon = implode(',', $coupons);

    $items = array();
    foreach ($order->get_items() as $item_id => $item_data) {
        $product = $item_data->get_product();
        $variation = new WC_Product_Variation($product->get_variation_id());
        $terms = get_the_terms($product->get_id(), 'product_cat');
        $categories = array();
        foreach($terms as $term) {
            $categories[] = $term->name;
        }

        $item = [];
        $item['subTotal'] = $item_data->get_total();
        $item['quantity'] = $item_data->get_quantity();
        $item['sku'] = $variation->get_sku();
        $item['category'] = implode('/', $categories);

        $items[] = $item;
    }

    $orderNumber = $order->get_order_number();
    $items = json_encode($items);

    wp_register_script( 'order-success-pixel-tracking', '', [], '', true );
    wp_enqueue_script( 'order-success-pixel-tracking'  );
    wp_add_inline_script( 'order-success-pixel-tracking', <<<EOL
    ire('trackConversion', 19124, {
        orderId: "$orderNumber",
        orderPromoCode: "$coupon",
        items: $items
    }); 
EOL);
}

add_action('woocommerce_thankyou', 'my_custom_tracking');

Название продукта должно оставаться без изменений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...