1) Для корзины и оформления заказа
Вы можете использовать свою функцию (без переменной $checkout
, так как она не нужна) в качестве короткого кода:
function get_cart_count() {
return WC()->cart->get_cart_contents_count();
}
add_shortcode( 'cart_count', 'get_cart_count');
Код помещается в файл function.php вашей активной дочерней темы (или активной темы).
Вы будете использовать его:
- В текстовом редакторе WordPress:
[cart_count]
- В коде php:
echo do_shortcode( "[cart_count] ");
- В смешанномphp / html code:
<?php echo do_shortcode( "[cart_count] "); ?>
2) Для заказов и уведомлений по электронной почте
Поскольку соответствующий объект корзины несуществует больше , вам нужно получить количество элементов заказа из объекта WC_Order
(или ID заказа, если у вас его нет).
Вы можете использовать эту пользовательскую функцию собязательный определенный аргумент, который может быть объектом WC_Order
или идентификатором заказа.Если нет, функция ничего не вернет:
function get_order_items_count( $mixed ) {
if( is_object( $mixed ) ){
// It's the WC_Order object
$order = $order_mixed;
} elseif ( ! is_object( $mixed ) && is_numeric( $mixed ) ) {
// It's the order ID
$order = wc_get_order( $mixed ); // We get an instance of the WC_order object
} else {
// It's not defined as an order ID or an order object: we exit
return;
}
$count = 0
foreach( $order->get_items() as $item ){
// Count items
$count += (int) $item->get_quantity()
}
return $count;
}
. Вы будете использовать ее всегда, устанавливая в качестве аргумента для функции существующую динамическую переменную $order_id
или $order
, например
echo get_order_items_count( $order_id ); // Dynamic Order ID variable
Или
echo get_order_items_count( $order ); // Dynamic Order object variable