• Создаю в корне темы, файл например loading.php. После обращаюсь через ajax к нему, но в ответе приходят ошибки:

    Fatal error: Call to undefined function get_users() in

    и так почти со всеми функциями, в functions.php все же работает и в остальных файлах-шаблонах, почему там ошибки выдает?

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Потому что functions.php и шаблоны подключаются самим движком, а в созданном вами файле WordPress не загружается.

    В качестве быстрого решения можно подключить файл wp-load.php из корневого каталога, однако этот метод имеет свои недостатки:

    1. Не всегда можно гарантированно определить местонахождение файла.
    2. Возрастает нагрузка на сервер.

    Наиболее правильный вариант — отправлять запросы на стандартный обработчик wp-admin/admin-ajax.php (он работает и для внешней части сайта), а функцию, которая должна вернуть результат, подключить к нему с помощью действий wp_ajax_* и wp_ajax_nopriv_*: http://codex.wordpress.org/AJAX_in_Plugins.

    Автор snaipi91

    (@snaipi91)

    Cпасибо за помощь, не знал что есть стандартный функционал для ajax в WP

    Наиболее правильный вариант — отправлять запросы на стандартный обработчик wp-admin/admin-ajax.php (он работает и для внешней части сайта)

    Сергей, пользуясь случаем, попрошу — при возможности внести предложение разработчикам о выносе аякса из wp-admin.

    Ведь не секрет, что многие хостры блокируют доступ к урлам, содержащие wp-admin из-за чего у пользователей на фронте не работает аякс. И это не всегда сразу заметно и всем понятно. Я лично столкнулся с этим когда невозможно было отправить заказ в Вуккомерсе. Причем форма и всё остальное работало — не работала только кнопка «отправить», тк проверка полей происходит аяксом ВП. Ессно я этого не мог видеть, тк у меня она работала, (ведь как я имел доступ, пройдя хостеровские препоны), а вот обычные пользователи — нет.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Не видит функции wordpress» закрыта для новых ответов.