Intereting Posts
Как изменить Loop для заказа сообщений по представлениям (используя плагин wp-postviews) Первая полная запись без боковой панели Отображение и отображение зон доставки WooCommerce в интерфейсе? Создать дочернюю страницу в настраиваемом типе сообщений Использование wp_mail с вложениями, но без вложений Удалить сообщение Получить автора последней версии Страница пользовательской главной страницы с использованием WP_Query Игнорировать липкие сообщения, если сообщение не находится в мета-запросе Как создать динамически обновляемое заявление об авторских правах? получить соответствие данных с дополнительным значением поля, используя wp_query для персонализированного сообщения Изменить категории товаров Woocommerce Widget 'Title' на основе категории продуктов Как изменить размер изображения на стороне клиента перед загрузкой? Поддерживает ли WordPress какие-либо файлы вне основной папки (и базы данных)? Действие wp_logout не работает

Недействительные условные теги 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 и получить сообщения на основе этого.