Woo Commerce добавить в корзину добавить изображение в корзину - PullRequest
1 голос
/ 07 марта 2020

Я работаю с крючком надстройки в Woo Commerce. Мне интересно, возможно ли добавить изображение в качестве пользовательского атрибута в корзину.

Например, я включил пользовательские атрибуты, такие как:

// Store the custom data to cart object
add_filter( 'woocommerce_add_cart_item_data', 'save_custom_product_data', 10, 2 );
function save_custom_product_data( $cart_item_data, $product_id ) {
    $bool = false;
    $data = array();
    if( isset( $_REQUEST['pa_engraving'] ) ) {
        $cart_item_data['custom_data']['pa_engraving'] = $_REQUEST['pa_engraving'];
        $data['pa_engraving'] = $_REQUEST['pa_engraving'];
        $bool = true;
    }
    if( $bool ) {
        // below statement make sure every add to cart action as unique line item
        $cart_item_data['custom_data']['unique_key'] = md5( microtime().rand() );
        WC()->session->set( 'custom_variations', $data );
    }
    return $cart_item_data;
}

// Displaying the custom attributes in cart and checkout items
add_filter( 'woocommerce_get_item_data', 'customizing_cart_item_data', 10, 2 );
function customizing_cart_item_data( $cart_data, $cart_item ) {
    $custom_items = array();
    if( ! empty( $cart_data ) ) $custom_items = $cart_data;

    // Get the data (custom attributes) and set them
    if( ! empty( $cart_item['custom_data']['pa_engraving'] ) )
        $custom_items[] = array(
            'name'      => 'pa_engraving',
            'value'     => $cart_item['custom_data']['pa_engraving'],
        );
    return $custom_items;
}

Теперь мое изображение доступно как Base64 image и интересно, смогу ли я легко передать это как пользовательский атрибут как таковой:

https://myexampleshop.com/?add-to-cart=76981&quantity=1&image=data:image/png;base64,iVBORw0KGgoAAAANSUhEUg......

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

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