【发布时间】:2021-08-25 10:32:06
【问题描述】:
$_GET 没有传入我的 ajax 回调函数是我的代码。
$_GET 未通过,因此我无法使用 WP_Query 上的条款查询帖子。
我想做的是;通过 AJAX 从表单中获取 $_get 值并运行 WP_Query。我在表单中使用引导多选。
函数.php ;
add_action('wp_ajax_my_ajax_filter_search', 'my_ajax_filter_search_callback');
add_action('wp_ajax_nopriv_my_ajax_filter_search', 'my_ajax_filter_search_callback');
function my_ajax_filter_search_callback() {
header("Content-Type: application/json");
$meta_query = array('relation' => 'AND');
$tax_query = array();
if($_GET['app_category_multi']) {
$app_cat = sanitize_text_field( $_GET['app_category_multi'] );
$tax_query[] = array(
'taxonomy' => 'app_category',
'field' => 'slug',
'terms' => $app_cat,
'operator' => 'AND'
);
}
$args = array(
'post_type' => 'playbook',
'posts_per_page' => -1,
'meta_query' => $meta_query,
'tax_query' => $tax_query
);
$search_query = new WP_Query( $args );
if ( $search_query->have_posts() ) {
$result = array();
while ( $search_query->have_posts() ) {
$search_query->the_post();
$result[] = array(
"title" => get_the_title(),
"permalink" => get_permalink(),
"short_images" => get_short_images(),
"get_tags" => get_tags_item(),
"short_description" => get_field('short_description')
);
}
wp_reset_query();
echo json_encode($result);
} else {
// no posts found
}
wp_die();
}
非常感谢。
【问题讨论】:
-
你还没有分享你的JS请求部分代码。可能是您正在发送帖子请求?无论如何,尝试使用 $_REQUEST['app_category_multi'] 而不是 $_GET['app_category_multi']。