Я создаю фильтр для нестандартного типа записей WordPress.Я хочу иметь возможность динамически отображать больше сообщений с помощью раскрывающегося списка.Это отлично работает.Проблема в том, что я могу заставить его работать, только если я жестко закодирую термин таксономии.Я хотел бы иметь возможность передавать термин динамически в зависимости от количества постов на странице, которые выбрал пользователь.
Я уже пытался пропустить его, используя скрытый ввод.Я смог создать переменную и добавить ее к атрибуту имени, но не смог вытащить ее на стороне сервера.Я также думаю, что это был хакерский способ сделать это.
$args = array(
'post_type' => 'products',
'posts_per_page' => $_POST['ppp'],
'tax_query' => array(
array(
'taxonomy' => 'product-category',
'field' => 'slug',
'terms' => 'terminals'
),
),
);
<form action="<?php echo site_url() ?>/wp-admin/admin-ajax.php" method="POST" id="filter">
<select name="ppp">
<option value="1">Show 12 Per Page</option>
<option value="2">Show 24 Per Page</option>
<option value="3">Show 48 Per Page</option>
<option value="-1">Show All</option>
</select>
<!-- <div id = "spinner"></div> -->
<input type="hidden" name="action" value="myfilter">
</form>
$('#filter').change(function() {
var filter = $('#filter');
$.ajax({
url:filter.attr('action'),
data:filter.serialize(),
type:filter.attr('method'),
beforeSend:function(xhr){
//show the spinner
},
success:function(data){
//hide the spinner
$('#response').html(data);
}
});
return false;
});
Я хотел бы иметь возможность получить термин таксономии из текущего поста и передать его функции черезАякс.