WooCommerce: как добавить к продукту несколько настраиваемых полей? - PullRequest
0 голосов
/ 05 мая 2020

В моем магазине есть iframe, в котором размещаются товары, но сама корзина находится в WooCommerce. Когда вы нажимаете кнопку «Добавить в корзину» в окне iframe, я получаю сообщение с данными о продукте. Создаю ссылку и отправляю товар в корзину для дальнейшей обработки. Ссылка выглядит так:

http://some url/сart/?add-to-cart=' + productId + '&quantity=' + productQuantity + '&file=' + fileId + '&color=' + productColor + '&size=' + productSize);

Получаю все данные из сообщения. Я взял «файл» по этой ссылке и отобразил его как дополнительное поле к продукту.

add_filter( 'woocommerce_add_to_cart_redirect', 'redirect_add_to_cart' );

function redirect_add_to_cart($url) {       
    $code = $_GET['file'];
   }
add_filter('woocommerce_add_cart_item_data','wdm_add_item_data',10,3);

function wdm_add_item_data($cart_item_data, $product_id, $code )
{
    if(isset($_GET['file']))
    {
        $cart_item_data['file'] = sanitize_text_field($_GET['file']);
    } 

    return $cart_item_data;
}
add_filter('woocommerce_get_item_data','wdm_add_item_meta',10,2);

function wdm_add_item_meta($item_data, $cart_item)
{

    if(array_key_exists('file', $cart_item))
    {
        $custom_details =$cart_item['file'];

        $item_data[] = array(
            'key'   => 'test',
            'value' => $custom_details
        );
    } 
        return $item_data;
}

Но я не могу получить цвет и размер. Как я могу отобразить все три поля - файл, цвет и размер?

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