Твой способ почти рабочий
(а при наличии немного ума можно догадаться что можно временно заменить на свой, а потом вернуть прежний)
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 минут на всё про всё :)
А если непонятно как запустить контейнер, то скрипт тут причем? Скрипт не делает волшебные действия, он позволяет выполнить те действия которые вы знаете и умеете запускать, но автоматически, без необходимости писать руками.
Один раз написал руками, потом он выполняется.