Я работаю с крючком надстройки в 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 или есть какие-то другие методы для использования добавления крючок для добавления изображений в качестве пользовательских атрибутов.