如何为WordPress的登录表单创建自己的错误消息?

问题描述 投票:0回答:2

我正在制作一个插件,旨在通过限制用户不正确的登录尝试次数来提高wordpress网站的安全性。

else if ($row[2] > $maxtries && $curdate < $row[4]){

            echo '<p>You have been blocked due to continued incorrect login attempts.</p>';
            echo $password;

            $denied_message = "SORRY MATE YA BLOCKED";
            WP_Error( 'denied_access',$denied_message);

        }

目前我正在使用阻塞的回显获得一个白色屏幕(由WP_Error生成),我希望登录表单显示我自己的错误消息,就像在wordpress登录表单上已经完成的那样。非常感谢。

enter image description here

php wordpress wordpress-login
2个回答
0
投票

这是我使用的代码。用你的条件替换1 == 1!

add_filter( 'authenticate', 'my_validate_login_form', 10, 3 );

function my_validate_login_form( $user, $username, $password ) {

    /**
     * If the username or password are not sent we do nothing (and return $user)
     * This way we avoid errors to be shown before the user clicks the button to log in
     */
    if ( ! isset( $username ) || '' == $username || ! isset( $password ) || '' == $password ) {
        return $user;
    }

    // Check if the conditions are true and show an error and cancel further processing if they are
    if ( 1 == 1 ) {
        remove_action( 'authenticate', 'wp_authenticate_username_password', 20 );
        remove_action( 'authenticate', 'wp_authenticate_email_password', 20 );
        $user = new WP_Error( 'denied', '<strong>ERROR</strong>: My awesome error here.' );
        return $user;
    }

    // Return $user to allow wordpress to check password and username
    return $user;

}

0
投票
working code please usage in wordpress
add_filter('authenticate', 'check_login_submit', 40, 3);

function check_login_submit($user, $username, $password) {
    $WP_Error = new WP_Error();
    $WP_Error->add('my_error', '<strong>Error</strong>: Something went wrong.');
    return $WP_Error;
}
© www.soinside.com 2019 - 2024. All rights reserved.