Я создаю специальную страницу с благодарностью для своего магазина WooCommerce, где я могу правильно отобразить атрибут и значение элемента корзины, но на странице благодарности я не смог показать это. Не могли бы вы мне это помочь?
Рабочий код для товара в мини-тележке:
$items = WC()->cart->get_cart();
foreach($items as $item => $values) {
$cart_item = WC()->cart->cart_contents[ $item ];
$variations = wc_get_formatted_cart_item_data( $cart_item );
if( $cart_item['data']->is_type( 'variation' ) ){
$attributes = $cart_item['data']->get_attributes();
$variation_names = array();
if( $attributes ){
foreach ( $attributes as $key => $value) {
$variation_key = end(explode('-', $key));
$variation_names[] = ucfirst($variation_key) .' : '. $value;
}
}
echo implode( '<br>', $variation_names );
}
}
И вывод вроде
Color : Red
Size : 4mm
То же самое, что я люблю показывать на странице благодарности, поэтому я перекодировал его, как формат заказа, и прокрутил его, что не работает
$items = $order->get_items();
foreach ($items as $item_key => $item) {
$product = $item->get_product();
if( $product->is_type( 'variation' )){
$attributes = $product->get_variation_attributes();
$variation_names = array();
if( $attributes ){
foreach ( $attributes as $key => $value) {
$variation_key = end(explode('_', $key));
$variation_names[] = ucfirst($variation_key) .' : '. $value;
}
}
echo implode( '<br>', $variation_names );
}
}