Для передачи нескольких значений с помощью AJAX в WordPress, вам нужно правильно подготовить данные для `tax_query`. Если у вас есть переменная `link`, содержащая одно или несколько значений, разделенных запятыми, можно использовать следующий подход.
**В JavaScript:**
1. Сформируйте объект с данными, который вы будете передавать методом POST через AJAX.
2. Если переменная `link` содержит несколько значений, разделенных запятыми, преобразуйте эту строку в массив с помощью метода `split(',')`.
3. Передайте этот массив как часть вашего AJAX-запроса.
Пример кода:
```javascript
// Предполагаем, что link - это строка типа "3,5,10"
var link = '3,5,10';
var linkValues = link.split(','); // Преобразование строки в массив ["3", "5", "10"]
$.ajax({
url: my_ajax_object.ajax_url, // URL для обработки запроса, определен в wp_localize_script
type: 'POST',
data: {
'action': 'my_ajax_handler', // Название экшена для хука WP
'linkCat': linkValues // Массив значений для linkCat
},
success: function(response) {
// Обработка успешного ответа
},
error: function(error) {
// Обработка ошибки запроса
}
});
```
**В PHP (обработчик AJAX):**
1. Добавьте хук для обработки AJAX-запроса.
2. Получите переданные данные.
3. Преобразуйте их в нужный формат для `tax_query`.
Пример кода:
```php
add_action('wp_ajax_my_ajax_handler', 'my_ajax_handler');
add_action('wp_ajax_nopriv_my_ajax_handler', 'my_ajax_handler');
function my_ajax_handler() {
// Проверка nonce и другие проверки безопасности (если нужно)
// Получение данных из AJAX запроса
$linkCat = isset($_POST['linkCat']) ? $_POST['linkCat'] : array();
// Пример условия tax_query
$tax_query = array(
'relation' => 'OR' // Используйте 'AND', если нужно, чтобы посты соответствовали всем категориям
);
// Добавление условий для каждой категории
foreach ($linkCat as $cat) {
$tax_query[] = array(
'taxonomy' => 'category', // Или ваша кастомная таксономия
'field' => 'id',
'terms' => intval($cat),
);
}
// Теперь вы можете использовать $tax_query в WP_Query для получения постов
// ... (Здесь код для WP_Query и возврата результатов)
wp_die(); // Всегда завершайте функцию-обработчик wp_die()
}
```
Убедитесь, что обрабатываете AJAX-запросы безопасно, проверяя nonce и права пользователя, если это необходимо, а также проводя валидацию и санитизацию получаемых данных.
Также, при использовании таких запросов, не забывайте обработать случай, когда переменная `link` может быть пустой, чтобы ваш код корректно обрабатывал такую ситуацию.