У меня есть пользовательский тип записи Wordpress, который можно отфильтровать с помощью вызова AJAX. Это результаты матчей детской футбольной команды, которые изначально заполняют страницу самым последним сезоном. Я повторно использую функцию PHP AJAX для первоначального заполнения страницы, и это прекрасно работает.
Когда я выбираю другой сезон, чтобы показать результаты этого сезона, правильный сезон пропускается и восстанавливается через $ _GET ['season'], но результаты не возвращаются. Сезон - это поле с расширенными пользовательскими полями.
Это мои аргументы в пользу WP_Query, который отлично работает, когда не AJAX.
$args = array(
'post_type' => 'results',
'meta_key' => 'date',
'meta_query'=> array(
array(
'key' => 'result_season',
'value' => $show_season,
'compare' => '='
)
),
'posts_per_page' => -1,
'orderby' => array( 'meta_value_num' => 'DESC', 'post_date' => 'DESC' )
);
$wp_query = new WP_Query( $args );
Это мой AJAX-вызов, и он проходит правильный сезон.
$.ajax({
url:jQuery(this).data('action'),
data:{ action: jQuery(this).data('filter'), season: jQuery(this).data('season') },
beforeSend:function(xhr){
},
success:function(data){
jQuery('#season-results').html(data); // insert data
}
});
У меня есть нечто похожее, работающее на другом сайте для простого поиска работы. Я ДОЛЖЕН делать что-то не так, не так ли?
Спасибо