Твой способ почти рабочий
(а при наличии немного ума можно догадаться что можно временно заменить на свой, а потом вернуть прежний)
if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
return new WP_Error(
'incorrect_password',
sprintf(
/* translators: %s: User name. */
__( '<strong>Error:</strong> The password you entered for the username %s is incorrect.' ),
'<strong>' . $username . '</strong>'
) .
' <a href="' . wp_lostpassword_url() . '">' .
__( 'Lost your password?' ) .
'</a>'
);
}if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {В этом и проблема. Но я не готов тебя учить, тем более в коментах.
Пока не найдешь и не покажешь как это реализовать на практике - это и будет пустая болтовня. Давай, там же 10 минут на всё про всё :)
просто первая [ - есть во всех posix-совместимых оболочек (bash, sh, ksh, dash, zsh), а [[ - только в bash, и возможно в zsh
Совершенно незначительные преимущества [[ можно легко получить и в [, поэтому я рекомендую не пользоваться [[ ]]