Wordpress admin_post хук не работает => wp-load не найден в admin-post. php? - PullRequest
0 голосов
/ 09 апреля 2020

Я разрабатываю внешний модуль для отправки сообщений и хочу использовать подход 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.

...