в-общем, нашёл такой фильтр
wpcf7_posted_data и вроде всё было неплохо
function krona_filter_wpcf7_posted_data( $posted_data ) {
// make filter magic happen here...
if( isset( $posted_data['your-cart'] ) ) {
$posted_data['your-cart'] = "<span style='color: green; text-style: italic;'>здесь будет информация о товарах</span>";
}
return $posted_data;
};
add_filter( 'wpcf7_posted_data', 'krona_filter_wpcf7_posted_data', 10, 1 );
... и заработало, но, когда попытался сделать такое...
$count = WC()->cart->get_cart_contents_count();
if( isset( $posted_data['your-cart'] ) ) {
$posted_data['your-cart'] = "<span style='color: green; text-style: italic;'>всего товаров в корзине" . $count . "</span>";
}
получил 500 ошибку при отправке формы(
Решил оставить пока и попробовать через js и сделал так
$("#wpcf7-f44-o5 .wpcf7-submit").on('click', function(e) {
e.preventDefault();
var $form = $(this.form);
var $cart = $('#side_cart');
var quantity = '<div>Товаров в корзине: ' + $cart.data('count') + ' шт.</div>';
var price = '<div>На сумму: ' + $cart.data('total') + ' руб.</div>';
var info = $cart.find('.js-side-cart-item').map(function(i, el) {
var $item = $(el);
return "<div>" + $item.data('name') + ", цена " + $item.data('price') + " руб, кол-во " + $item.data('quantity') + " шт.</div>";
}).get().join('');
$form.find('[name="your-cart"]').val('<div>Корзина</div>' + quantity + price + info + '</div>');
$form.trigger('submit');
});
Не самое лучшее решение, предпочтительнее было бы через php, но что-то не выходит через хуки cf7 добиться желаемого.