Есть страница, на которой вывожу штук 20 постов.
ID этих постов вставляю в массив $do_not_duplicate
. При следующем цикле использую данный массив, чтобы отсеять уже выведенные посты, чтобы не было дубликатов. Для этого в цикле добавляю параметр post__not_in
.
Если делать стандартно на одной и той же странице, то всё работает.
Но при создании Ajax
в functions.php
, переменная $do_not_duplicate
оказывается пустой. Я пытаюсь достать её через ключевое слово global
, но она пустая...
И в итоге, у меня 20 постов вывелись обычным циклом. И потом эти же самые 20 постов выводятся уже через Ajax. Как мне достать всё это в Ajax?
Надо понимать, что php на сервере работает по принципу "выстрелил и забыл". После вывода страницы на экран все переменные уничтожаются, память освобождается. Вы никак не "достанете" из ajax переменную, которая существовала при генерации страницы.
Вам нужно передать значение вашей переменной (массив) в ajax с помощью wp_localize_script(), а потом передать её назад на сервер в вызове ajax. На сервере в обработчике ajax использовать в post__not_in, добавить в этот массив вновь полученные посты и снова передать в js. И так далее.
Подробности о wp_localize_script() можно прочитать здесь.
Виртуальный выделенный сервер (VDS) становится отличным выбором
как добавить свои поля - type_pay(число),days(количество дней),user при оплате через paypal
Есть несколько больших форм, в которых сотни реквизитов, они заполняются вручнуюИ при сохранении нужно провести логический контроль заполненной...
При попытке активации темы wordpress ругается на ошибку в 32 cтрокеВот эта строка
Задание заключается в том, чтобы на примере не менее 5 классов, которые содержат не менее 4 функций использовать концепции ООП: инкапсуляцию,...