Ответы пользователя по тегу WordPress
  • Форма в WordPress не отправляет письма/почему после XHR запроса ничего не происходит?

    @Hurricane202 Автор вопроса
    Нашел решение данной проблемы, оставлю тут , т к возможно пригодится таким же "начинающим" как я.

    В общем если вы решили сделать на Вордпрессе форму без использования плагинов, которая при этом не будет перезагружать после отправки всю страницу и будет отправлять на почту сообщения, Вам следует:

    1)Сделать JS файл с обработчиком (можно использовать jquery как в моем примере выше) который будет делать AJAX запрос.
    2)Все AJAX запросы WP проходят через файл admin-ajax.php, тоесть вы не можете сразу прописать в запросе url вашей функции в functions.php или название php файла обработчика. Этот url должен выглядеть примерно так: firstwp/wp-admin/admin-ajax.php?action=send_mail .
    Это приведет к созданию событий wp_ajax_send_mail и wp_ajax_nopriv_send_mail в файле admin-ajax.php
    3)В файле functions.php нам нужно создать "действия" которые выводят функцию когда произойдут события wp_ajax_send_mail и wp_ajax_nopriv_send_mail.
    4)В функции можно использовать wp_mail, но в моем случае на локальном сервере Open Server этого было мало и все сообщения уходили в папку OSPanel\userdata\temp\email.
    Если хостинга у вас нет, но хочется чтобы все работало, следует воспользоваться PHPMailer. Он решил мою проблему.
    Ответ написан