Бородатая проблема, я уже так не работаю. Тот раз решил проблему костылями. Сейчас бы так точно не делал. К сожалению (или к счастью) костыль не сохранился а проект давно уже рефактореный несколько раз.
Для красивого решения нужно использовать API woocommerc.
Подробнее, должно выглядеть примерно так:
Напишите свой обработчик для аякса и используйте цикл из шаблона cart.php
function my_cart_items_loader() {
ob_start();
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { // этот цикл найдете в cart.php
$my_cart_items = // здесь ваш шаблон для вывода списка товаров загоните его в переменную
}
wp_send_json( $my_cart_items ); //теперь эту переменную передайте в ваш ajax
}
И ajax...
jQuery( function( $ ) {
// определите событие на которое должен срабатывать
$( document ).on( 'click', '.my-cart', function() {
$( '.my-cart-items' ).slideToggle( 'slow' ); // показываем ваш блок со списком товаров
var data = {
action: 'woocommerce_my_cart_items_loader', // запрашиваем обработчик
your_variable: //переменная если таковая нужна обработчику,
};
$.post( function( response ) {
$( 'div.my-cart-items-list' ).replaceWith( response ); // выводим результат
});
});
});
Код не проверял, но думаю что суть решения должна быть понятной.