Etiquetas condicionais do ajax wp_query não funcionam

Estou tentando ajax wp_query , tenho sucesso obtendo posts para a página inicial com o seguinte código.

Então eu adicionei tags condicionais para modificar a consulta para as outras páginas como a página Categoria

o problema de que todas as tags condicionais não estão funcionando dentro desta function, ela continua me dando as mesmas postagens da página inicial.

Estou usando este código no arquivo function.php :

add_action( 'wp_ajax_wp_ajax_posts', 'wp_ajax_posts_init' ); function wp_ajax_posts_init() { /** Made Query */ $numPosts = (isset($_POST['numPosts'])) ? $_POST['numPosts'] : 0; $page = (isset($_POST['pageNumber'])) ? $_POST['pageNumber'] : 0; $args = array( 'posts_per_page'=> $numPosts, 'paged' => $page, ); if(is_post_type_archive('projects')){ $args['post_type'] = 'projects'; } if(is_category()){ $category = get_category( get_query_var( 'cat' ) ); $cat_id = $category->cat_ID; $args['cat'] = $cat_id; } $theme_post_query = new WP_Query( $args ); while( $theme_post_query->have_posts() ) : $theme_post_query->the_post(); //--html content endwhile; wp_reset_query(); } 

A coisa estranha que as tags condicionais estão funcionando em todas as outras funções, como onde eu enqueue o script ajax

 if(is_home() || is_category() || is_search() || is_tag() || is_post_type_archive('projects')){ wp_register_script( 'ajaxLoop-js', "{$ss_url}/js/ajaxLoop.js", array('jquery')); $php_array = array( 'admin_ajax' => admin_url( 'admin-ajax.php' ) ); wp_localize_script( 'ajaxLoop-js', 'php_array', $php_array ); wp_enqueue_script( 'ajaxLoop-js' ); } 

alguma idéia de como obter tags condicionais funcionam em wp_ajax_posts_init() ?

Solutions Collecting From Web of "Etiquetas condicionais do ajax wp_query não funcionam"

Uma solicitação ajax acontece em uma carga completamente separada, não terá consciência sobre qual página você está solicitando e não terá consulta principal ou consulta condicionais.

Se você quiser recuperar algo com base no contexto da página que você está fazendo pedido, então você precisa passar essa informação em sua solicitação ajax e recuperar posts com base nela.