благодаря @Bijal Patel я нашел решение:
Я добавил новое действие "shop_search" и создал несколько разных поисковых запросов, которые можно вызывать с помощью & pts = posttype
так что я могу пойти на разные поиски, как? action = shop_search & pts = product & Terms = test
в функциях
add_action( 'wp_ajax_nopriv_shop_search', 'shop_search' );
add_action( 'wp_ajax_shop_search', 'shop_search' );
и затем точно так же, как
function shop_search() {
if ( isset( $_REQUEST['pts'] ) && 'product' == $_REQUEST['pts'] ) { //pts = post type search // looking for Posttype = product
$product_query = new WP_Query( array(
's' => $_REQUEST['terms'],
'post_type' => 'product', // Posttype goes here
//'posts_per_page' => 10,
'no_found_rows' => true,
) );
$presults = array( );
if ( $product_query->get_posts() ) {
foreach ( $product_query->get_posts() as $the_post ) {
Do STUFF
$presults[] = array(
'lorem' => $ipsum,
'foo' => $bar,
);
}
} else {
$presults[] = __( 'Sorry. No results match your search.', 'wp-typeahead' );
}
wp_reset_postdata();
echo json_encode( $presults );
}
может быть бесконечным, как ...
if ( isset( $_REQUEST['pts'] ) && 'post' == $_REQUEST['pts'] ) { //pts = post type search // Posttype = post
$product_query = new WP_Query( array(
's' => $_REQUEST['terms'],
'post_type' => 'post', // posttype goes here
//'posts_per_page' => 10,
'no_found_rows' => true,
) );
$results = array( );
// see above for what to do next
// And Close it all afterwards
die(); }
Для всех посттипов, которые мне нужно запросить, это может быть не самое быстрое решение. Если вам просто нужно разделить от 2 до 3 посттипов, это будет оно, более или менее.
Вызовите результаты поиска, используя: mysite.com/wp-admin/admin-ajax.php?action=shop_search&pts=product&terms=test
Так что, если у кого-то есть идеи, как ускорить процесс, скажите, пожалуйста!
Спасибо. И отдельное спасибо Bijal - вы сделали мои выходные!