Форма входа из ядра, но на кастомной странице
<?php
$args = array(
'echo' => true,
'redirect' => site_url( $_SERVER['REQUEST_URI'] ),
'form_id' => 'loginform',
'label_username' => __( "Nom d'utilisateur ou email" ),
'label_password' => __( 'Password' ),
'label_remember' => __( 'Remember Me' ),
'label_log_in' => __( 'Log In' ),
'id_username' => 'user_login',
'id_password' => 'user_pass',
'id_remember' => 'rememberme',
'id_submit' => 'wp-submit',
'remember' => false,
'value_username' => NULL,
'value_remember' => false );
wp_login_form( $args );?>
Релиректы, чтобы при входе и выходе оставаться на той же странице
add_action('wp_logout','auto_redirect_after_logout');
function auto_redirect_after_logout(){
wp_safe_redirect( home_url('/ebibliotheque/') );
exit;
}
function wpdocs_my_login_redirect( $url, $request, $user ) {
if ( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) {
$url = home_url( '/ebibliotheque/' );
}
return $url;
}
add_filter( 'login_redirect', 'wpdocs_my_login_redirect', 10, 3 );
add_action( 'wp_login_failed', 'my_front_end_login_fail' );
function my_front_end_login_fail( $username ) {
$referrer = $_SERVER['HTTP_REFERER'];
if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ) {
wp_redirect( $referrer . '?login=failed' );
exit;
}
}
До того, как добавить последний редирект, переносило при введении неправильного пароля на wp-login.php.
Сейчас не переносит, но мне нужно показывать ошибки, что неверный логин или пароль. Сейчас ссылка превращается в site.com/ebibliotheque/?login=failed, но ошибок вообще нет. Если форма из ядра, то можно как-то и ошибки показать из ядра? Как прописать их?