Нужно авторизовать пользователя. В кодексе пример:
function custom_login() {
$creds = array();
$creds['user_login'] = 'example';
$creds['user_password'] = 'plaintextpw';
$creds['remember'] = true;
$user = wp_signon( $creds, false );
if ( is_wp_error($user) )
echo $user->get_error_message();
}
// run it before the headers and cookies are sent
add_action( 'after_setup_theme', 'custom_login' );
Если я передаю в wp_signon( ) данные с POST:
function custom_login() {
$creds = array();
$creds['user_login'] = $_POST['log'];
$creds['user_password'] = $_POST['pwd'];
$creds['remember'] = true;
$user = wp_signon( );
if ( is_wp_error($user) )
echo $user->get_error_message();
}
// run it before the headers and cookies are sent
add_action( 'after_setup_theme', 'custom_login' );
Да, авторизация работает, однако при попытке сохранить/удалить в админке пост или сменить тему выдается ошибка "Вы уверены, что хотите это сделать?
Пожалуйста, попробуйте ещё раз."
Такая ситуация:
- при любой установленной теме (тестила),
- при прямом указании в коде логина и пароля ошибка в админке не возникает, только при передаче в POST (тоже уже проверила),
- другие плагины не влияют (развернула на чистом движке - то же поведение)
версия движка 5.4.2
Как сделать корректно передачу данных в wp_signon( )? Понимаю, что скорее всего моя ошибка какая-нибудь оч глупая, но ничего существенного по этому вопросу нагуглить не получилось.