Пользовательская форма входа в wordpress admin_post_add_ не работает на реальном сервере, но работает на xampp - PullRequest
0 голосов
/ 11 июля 2020

У меня есть настраиваемый плагин для входа в систему, который использует:

$config = file_Get_content("somet path");
add_action('admin_post_add_members_login', array(new Members($config), "init"));
add_action('admin_post_nopriv_add_members_login', array(new Members($config), "init"));

ПРИМЕЧАНИЕ: HTML Страница имеет тип ввода, скрытое действие value = "members_login"

Это все отлично работает локально на xampp, но на живом сервере, который является типичным сервером cpanel linux, он просто перенаправляет меня на страницу wp-login. php.

Я переключил его на следующее: ( пробовал обе функции в строковой и встроенной функции):

function doit1(){
    error_log(json_encode("Hook 1 run"));
}

function doit2(){
    error_log(json_encode("Hook 2 run"));
}

add_action('admin_post_add_members_login', function(){
    error_log(json_encode("Hook 1 run"));
});
add_action('admin_post_nopriv_add_members_login', function(){
    error_log(json_encode("Hook 2 run"));
});
error_log(json_encode("Hooks registered"));

В журнале ошибок будет «Зарегистрированы хуки» как на локальном, так и на реальном сервере, но живой сервер никогда не регистрирует «запуск крючка 1» или «запуск крючка 2» ", но локальный сервер xampp регистрирует все нормально.

PHP Версия 7.4.7 на xampp и версия 7.4 на реальном сервере.

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 15 июля 2020

В xampp создание хуков действий для авторизованных и не авторизованных пользователей будет работать без ошибок, я не тратил время на поиск в WordPress, чтобы выяснить, почему. При репликации сайта на локальную установку ubuntu проблема присутствовала, поэтому либо двойная загрузка в ubuntu, либо использование виртуальной машины и работа над проблемой там, избавляя от постоянных проблем с живым сервером.

Вход в систему

  1. В плагине удален код, поэтому форма просто выводится на шорткоде.
  2. Переработан вход через тему с использованием: add_action ('login_form', 'x'); // Добавить настраиваемые поля в fn x add_action ('wp_authenticate_user', 'x'); // Подтвердить и перенаправить логин в fn x

Register

  1. В плагине удален код, поэтому форма просто выводится на шорткоде.
  2. Создано индивидуально php скрипт для обработки всего, что мне нужно, и установки действия формы для публикации вместо этого.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...