WooCommerce - детали заказа Спасибо страница Добавить случайный номер для каждого продукта? - PullRequest
0 голосов
/ 17 января 2019

Я застрял на одной проблеме, для моего сайта электронной коммерции после размещения заказа я хочу показать случайное число для каждого продукта в разделе сведений о заказе. Я пробовал это: в теме (function.php)

add_action( 'woocommerce_order_status_processing', 'add_unique_id');

тогда

function add_unique_id($order_id) {
    $order = new WC_Order( $order_id );
    $items = $order->get_items(); 
      foreach ($items as $item_id => $product )
     {
        $gen_id ="Hi Dad!";
      wc_add_order_item_meta($item_id, 'unique_id', $gen_id);
     }

Но с помощью этого я не получаю уникальный номер для каждого продукта.

Я хочу добавить случайное число в красной части под изображением страницы с благодарностью.

enter image description here

пожалуйста, помогите решить. заранее спасибо

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Если вы уже закончили с добавлением item_meta_data в корзину, надеюсь, вы легко сможете сделать его видимым и в корзину?

Это не так необходимо, но только для целей тестирования. Для этого вы можете использовать "woocommerce_get_item_data"

add_filter( 'woocommerce_get_item_data', 'mwb_wgm_woocommerce_get_item_data', 10, 2 );

function mwb_wgm_woocommerce_get_item_data($item_meta, $existing_item_meta){

    //by using $existing_item_meta , find your unique_key (whether it is displaying or not)

    foreach ($existing_item_meta as $key => $val ) {

        if($key == 'unique_key') {
            $item_meta [] = array (
                    'name' => __('RANDOM KEY','your_slug'),
                    'value' => stripslashes( $val ),
            );
        }
    }
    return $item_meta;
}

Дайте мне знать, там отображается ваш УНИКАЛЬНЫЙ КЛЮЧ или нет?

0 голосов
/ 17 января 2019

Там могут быть различные проблемы 1. wc_add_order_item_meta (Woo версия <3.0.0) </p>

Если вы хотите добавить item_meta к каждому вашему продукту, а затем да, он автоматически отобразится на странице заказа с благодарностью.

Пожалуйста, используйте "$ item-> add_meta_data ('Your_Key', $ order_val);" [WC_version> = 3.0.0]

  1. Пожалуйста, убедитесь, что вы уже установили этот "ключ" для вашей cart_item_meta, используя этот хук -> "woocommerce_add_cart_item_data".

Надеюсь, это поможет вам:)

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