Я разрабатываю внешний модуль для отправки сообщений и хочу использовать подход Wordpress для отправки данных POST, ie admin_post_ {action} hooks.
Итак, я создал форму, которая появляется в интерфейсе:
<form id="new_post" name="new_post" method="post" action="<?= esc_url(admin_url('admin-post.php')); ?>">
...
<input type="submit" value="SUBMIT" id="draft" name="draft" />
<input type="hidden" name="action" value="my_action" />
</form>
Я добавил следующее действие в свой плагин: add_action ('admin_post_my_action', 'my_form_submission_callback');
Однако, когда я нажимаю "submit" Кнопка «Процесс» перенаправляет меня на домашнюю страницу сайта, и xdebug сообщает мне, что он даже не достигает моего обратного вызова.
Я сделал xdebug для файла admin-post. php, и на самом деле вызов умирает на этом шаге:
if ( defined( 'ABSPATH' ) ) {
require_once ABSPATH . 'wp-load.php';
} else {
require_once dirname( __DIR__ ) . '/wp-load.php';
}
Видимо, ABSPATH не определяется и при вводе require_once dirname( __DIR__ ) . '/wp-load.php';
он не находит файл и вызывает ошибку.
В настоящее время я работаю над локальной версией веб-сайта, используя сервер WAMPP, PHP версия - 7.2.18, WP - это последний (5.4).
Кто-нибудь имеет представление, почему это происходит?
Заранее спасибо за помощь!
Pascal.