Intereting Posts
Вызов функции-члена () Пользовательский тип сообщения администратора Должен ли я обновиться? эхо задайте конкретную мета-страницу, запрошенную через пользовательский пост Пользовательский метабокс с Ajax в Редактировать сообщение – Застрял Применение фильтра $ posts_clauses только к конкретным запросам add_rewrite_endpoint не работает Импорт сообщений с старого веб-сайта в новый конфликтный идентификатор сообщения? Маскировка и отслеживание исходящих ссылок Пользовательский тип сообщения – содержимое фильтра с помощью пользовательского мета-окна Неустранимая ошибка: вызов функции-члена get_page_permastruct () для не-объекта Если сообщение имеет две категории с разными разрешениями, что произойдет? Добавьте пользовательские PHP и HTML в the_content () Действие pre_get_posts не работает Как создать пользовательскую страницу для несвязанной базы данных?

отключить WP_error: authentication_failed

Я изменяю свой wp-login.php, но изнутри functions.php (чтобы не взламывать ядро).

Мне нужно отключить один WP_error с кодом: authentication_failed.

если я взломал ядро ​​и изменил wp-login.php на код:

foreach ( $wp_error->get_error_codes() as $code ) { $severity = $wp_error->get_error_data( $code ); foreach ( $wp_error->get_error_messages( $code ) as $error_message ) { if ( 'message' == $severity ) $messages .= ' ' . $error_message . "<br />\n"; else $errors .= ' ' . $error_message . "<br />\n"; } } 

чтобы:

 foreach ( $wp_error->get_error_codes() as $code ) { $severity = $wp_error->get_error_data( $code ); if($code !=='authentication_failed'){ <======= ADDED foreach ( $wp_error->get_error_messages( $code ) as $error_message ) { if ( 'message' == $severity ) $messages .= ' ' . $error_message . "<br />\n"; else $errors .= ' ' . $error_message . "<br />\n"; } } } 

Оно работает. Но я не хочу взломать ядро, есть ли способ отключить его от functions.php?

Solutions Collecting From Web of "отключить WP_error: authentication_failed"

Вы можете использовать подключаемую функцию wp_authenticate для переопределения ядра.

https://developer.wordpress.org/reference/functions/wp_authenticate/

Важная осторожность: проверьте этот код на песочнице перед развертыванием в прямом эфире!

 function wp_authenticate($username, $password) { $username = sanitize_user($username); $password = trim($password); $user = apply_filters( 'authenticate', null, $username, $password ); if ( $user == null ) { $user = new WP_Error( 'authentication_failed', __( '<strong>ERROR</strong>: Invalid username or incorrect password.' ) ); } $ignore_codes = array( 'authentication_failed' ); if ( is_wp_error( $user ) && !in_array( $user->get_error_code(), $ignore_codes ) ) { do_action( 'wp_login_failed', $username ); } return $user; } add_action( 'init', 'wp_authenticate' );