Чтобы обновить счетчик YITH WooCommerce Wishlist без необходимости перезагрузки страницы, вам нужно использовать JavaScript (или jQuery) для обработки события добавления товара в список желаемого и последующего обновления счетчика.
Вот общий подход, который вы можете использовать:
1. **Добавьте обработчик события для кнопки "Добавить в список желаемого"**. Убедитесь, что вы правильно настроили селектор кнопки.
2. **Используйте AJAX для обновления счетчика**. После успешного добавления товара в список желаемого, получите новый счетчик и обновите отображение на странице.
Вот пример кода, который демонстрирует, как это можно сделать:
```javascript
jQuery(document).ready(function($) {
// Обработчик клика на кнопку добавления в список желаемого
$('body').on('click', '.add_to_wishlist', function(e) {
e.preventDefault();
var button = $(this);
// AJAX-запрос для добавления товара в список желаемого
$.ajax({
url: button.attr('href'), // URL для добавления в список желаемого
method: 'GET',
success: function(response) {
// Проверьте ответ и обновите счетчик
if (response.success) {
// Предположим, что вам нужно обновить элемент с ID #wishlist-count
var newCount = response.data.new_count; // Используйте значение, полученное из вашего ответа
$('#wishlist-count').text(newCount);
} else {
alert('Ошибка при добавлении в список желаемого');
}
},
error: function() {
alert('Ошибка при выполнении запроса');
}
});
});
});
```
### Как это работает:
- Мы слушаем событие `click` на кнопках с классом `.add_to_wishlist`.
- После клика мы выполняем AJAX-запрос на URL, указанный в атрибуте `href` кнопки.
- Если запрос успешен и возвращает успешный ответ, мы обновляем текст элемента счетчика wishlist.
### Обратите внимание:
- Этот код предполагает, что у вас настроен возврат данных в необходимом формате, включая новый счетчик (например, в JSON-формате).
- Не забудьте добавить обработку CORS и другие меры безопасности, если у вас есть необходимые API.
### Пример PHP-кода для обработки AJAX запроса:
Если у вас есть обработчик PHP для AJAX, вам необходимо убедиться, что он возвращает правильные данные:
```php
add_action('wp_ajax_your_custom_action', 'your_custom_function');
add_action('wp_ajax_nopriv_your_custom_action', 'your_custom_function');
function your_custom_function() {
// Логика добавления в список желаемого
// Получаем количество желаемых товаров после добавления
$new_count = count_user_wishlist_items(); // замените на вашу функцию
// Возвращаем ответ
wp_send_json_success(array('new_count' => $new_count));
}
```
Не забудьте заменить `your_custom_action` и `your_custom_function` на соответствующие ваши значения.
С помощью этих шагов вы сможете обновлять счетчик wishlist без перезагрузки страницы.