Intereting Posts
Действие pre_get_posts: поиск по post_title и post_content с другой поисковой фразой в том же запросе Опубликовать на странице для портфолио Несколько повторяющихся URL-адресов WP запутывает «ссылки на мои статьи» с «комментариями»? Как установить интервалы в заданиях cron? Добавление запроса к URL-адресу изображения при нажатии «вставить в сообщение»? Пользовательские таксономии не сохраняют иерархию при импорте с одного сайта на другой Как прикреплять изображения, которые я «вставляю с url» в сообщение? Текст подкатегории в URL-адрес сайта wordpress Записывать скрипты в определенный заголовок – <имя> .php? Список желаний Отобразить текущий таксономический термин, когда внутри пользовательского типа сообщения Как добавить пользовательские поля комментариев, но * только в форме ответа комментария *? Обработка форм с плагином Paypal Framework Показывать последние сообщения в одной странице

Недействительные условные теги ajax wp_query

Я пытаюсь ajax wp_query , мне удалось получить сообщения для домашней страницы со следующим кодом.

Затем я добавил условные теги для изменения запроса для других страниц, таких как страница «Категория»

проблема в том, что все условные теги не работают внутри этой функции, она продолжает давать мне те же сообщения на домашней странице.

Я использую этот код в файле 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(); } 

странная вещь, что условные теги работают во всех других функциях, например, когда я вставляю сценарий 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' ); } 

любые идеи о том, как получить условные теги, работают в wp_ajax_posts_init() ?

Solutions Collecting From Web of "Недействительные условные теги ajax wp_query"

Запрос ajax происходит в полностью отдельной загрузке, он не будет знать о том, на какой странице вы выполняете запрос, и не будет иметь никаких основных условий запроса или запроса.

Если вы хотите получить что-то на основе контекста страницы, с которой вы делаете запрос, вам необходимо передать эту информацию в свой запрос ajax и получить сообщения на основе этого.