mk3mk
@mk3mk
занимаюсь вёрсткой (иногда)

Зачем писать url: admin-ajax.php?

Всем привет!
Изучаю ajax в Wordpress.
В некоторых примерах встречаю такой код
$.ajax({
               url: "/wp-admin/admin-ajax.php",
               method: 'post',

но при этом пишут что обработчик пишем в function.php
не совсем понимаю, зачем писать url: "/wp-admin/admin-ajax.php"
если мы пишем обработчик в functions.php
Что будет, если мы не напишем этот url ?
  • Вопрос задан
  • 186 просмотров
Пригласить эксперта
Ответы на вопрос 2
Тут есть ответ на Ваш вопрос и на все последующие по этой теме.
Ответ написан
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Ваш js отправляет данные на файл-обработчик, который является входной точкой. Воспринимайте его как API endpoint. Потому что отправить запрос на файл functions.php вы не сможете, это include. А вот /wp-admin/admin-ajax.php - это не include, там поднимается слегка облегченная версия всего WordPress которая рассчитана исключительно на то, чтобы принять ваши отправленные данные, определить какой action вы хотите использовать и через этот action передать полученные данные на обработчик, который висит на этом экшне. И вот уже в functions.php вы на этот экшн в формате wp_ajax_{$action} и wp_ajax_nopriv_{$action} подключаете свой обработчик, который примет отправленные данные, сделает с ними все что нужно и вернет ответ, который в свою очередь /wp-admin/admin-ajax.php вернет обратно вашему js.

По ссылке Пычев Анатолий более подробно с примерами. А вообще откройте в редакторе сам файл /wp-admin/admin-ajax.php и часть вопросов сама отпадет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы