Intereting Posts
Как разрешить выходить пользователям загружать медиа? WordPress в подкаталоге другой среды WordPress не работает Помогите мне выбрать миниатюру из SQL и использовать не удалось открыть поток: нет такого файла или каталога Виджет боковой панели, чтобы показать, что популярный пост не работает? the_modified_date возвращает опубликованную дату Необходимо вернуться к старой версии wordpress Отображение пользовательской таксономии, прикрепленной к сообщению на одной странице Использование заголовка страницы в качестве ссылки на терминологический архив Рандомизирующие ссылки на ссылки вне цикла – нет автора или даты Дайте администратору сайта возможность «пропустить подтверждение по электронной почте» при добавлении нового пользователя Добавление количества изображений в Multigallery Проверка сообщений в массиве с помощью foreach Как вы можете разрешить пользователям загружать видео в свой профиль и отображать его на сайте WordPress? Удаление столбцов в медиатеке

is_single () условная проверка внутри ajax php function

Я создаю динамический контент, но мне нужно запустить условную проверку is_single () внутри php-функции

add_action( 'wp_ajax_rando_func', 'rando_func' ); add_action( 'wp_ajax_nopriv_rando_func', 'rando_func' ); function rando_func() { if (is_single()) { //do stuff } } 

Это не работает, поэтому я попытался добавить идентификатор

 function rando_func() { $page_id = $_POST["page_id"]; if (is_single($page_id)) { //do stuff } } 

Не повезло и с этим. Как это сделать?

Solutions Collecting From Web of "is_single () условная проверка внутри ajax php function"

is_single возвращает, если в процессе реального сервера отображается одна страница. Внутри Ajax-функции ничего не отображается, вы делаете Ajax.

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

Попробуйте следующее: Шаг 1: получите информацию в вашей функции Javascript. Вы получаете информацию из объекта $ wp_query. Если вы непосредственно эхо-код javascript, который выполняет запрос AJAX, вы можете сделать это следующим образом:

 <script> var is_single = <?php echo (is_single() ? '1' : '0' ); ?>; </script> 

Если вы ставите в очередь свой сценарий ajax-caller, вы можете использовать wp_localize_script .

Шаг 2: ОТПРАВИТЬ информацию is_single в функцию Ajax

Шаг 3: Измените свою функцию Ajax PHP, чтобы включить информацию is_single:

 function rando_stuff(){ $single = (int)$_POST['is_single']; if($single){ //do stuff } } 

Шаг 4: Прибыль;)