Intereting Posts
Возвращаемый ID страницы из массива, как вернуть правильные значения для сообщения в acf wordpress Обнаружить, работает ли WP под WP-CLI Как вывести пользовательскую таксономию в выпадающий список в пользовательском обмене Пользовательское соглашение об именах и доступе к таблицам для multisite: $ table_prefix vs base_prefix или другое? Передача переменной в качестве постоянного поля URL посты по дате, такие как craigslist Автоматически добавлять заголовок изображения со значениями из поля post parent? Отправить несколько значений пользовательского поля через URL-адрес Страница WP и подкаталог с тем же именем Не удалять мои сообщения WildCard SSL с субдоменом wordpress Создайте «статические» текстовые поля, контролируемые из раздела admin, как? В многопользовательской среде, которая является самым популярным блогом? Как экспортировать / импортировать настройки местоположения в меню? Проблемы с установкой Novice WordPress

Создание пользовательской формы входа – встреча с проблемами

Я создаю пользовательскую форму входа, и я пробовал два метода: wp_authenticate() и wp_signon() .

Для первого я могу правильно вернуть объект WP_User при успешной аутентификации, но ни один из файлов cookie не настроен на сигнал is_user_logged_in() что пользователь действительно вошел в систему. Предполагаю, что я могу установить свои собственные файлы cookie, но есть ли более простые путь?

Для последнего я продолжаю иметь ошибку. Cannot modify header information - headers already sent by... Я попытался вызвать wp_signon() из <head> , фактического заголовка и шаблона страницы. Я вижу ту же ошибку независимо. Я смотрел онлайн, но я не вижу никаких решений этой конкретной проблемы.

Конкретная ошибка указывает на строку 7 base.phpWarning: Cannot modify header information - headers already sent by (output started at /srv/www/mysite/current/web/wp/wp-content/themes/mysite/base.php:7) base.php Warning: Cannot modify header information - headers already sent by (output started at /srv/www/mysite/current/web/wp/wp-content/themes/mysite/base.php:7) .

Но, глядя прямо сейчас, я не вижу никакой проблемы (это строки 4 – 10, строка 7 – тип doctype):

 use Roots\Sage\Wrapper; ?> <!doctype html> <html <?php language_attributes(); ?>> <?php get_template_part('templates/head'); ?> <body <?php body_class(); ?>> 

В соответствии с собственным устранением неполадок WP я проверил, что дополнительных пробелов нет.

Независимо от того, как это происходит, мне просто нужно иметь возможность регистрировать пользователя со своими учетными данными и иметь возможность проверить свой статус входа в систему, чтобы создать зарегистрированное состояние на веб-сайте.

Любая помощь?

Посмотрите на фильтр проверки подлинности . Это будет все для вас.

 function wpse_custom_login($user, $username, $password) { if (empty($username)) { $errors = new WP_Error(); //add some error message, return $errors } $user = get_user_by('email', $username); // do some additional validation, checks, etc. return $user; } add_filter('authenticate', 'wpse_custom_login', 30, 3); 

Это действительно простой пример, но он начинает демонстрировать, как вы входите в систему по имени пользователя вместо имени пользователя.