How to Fix WordPress Password Settings Link Error
下面由WordPress教程栏目给大家介绍修正 WordPress 密码设置链接错误的方法,希望对需要的朋友有所帮助!
当用户注册或者忘记密码获取新密码时WordPress会自动向用户邮箱中发送一个验证链接地址,用户通过打开这个链接设置密码,不过经常发现这个链接直接打开后,并不是设置密码的正确链接。
这个问题的并不是WordPress的原因,正常WordPress设置密码的链接地址是没有超链接的,而是QQ邮箱自作聪明为个链接地址加上了超链接,并把本不是链接地址内容的<>符号也加了进去,结果造成链接错误,貌似只有大家常用的QQ邮箱有此问题。这是一个老生常谈问题,网上解决办法比比皆是,不过都是千篇一律,充分体现了天下文章一大抄。
下面是我的解决方法,以WordPress 5.3.2为例:
一、最简单的方法
修改WordPress程序文件删除代码中的<>符号,
修正忘记密码获取新密码链接
打开WordPress程序根目录的wp-login.php文件,将大约417行的:
$message .= '<' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . ">\r\n";
改为:
$message .= '' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . "\r\n";
只是把代码中前后<>符号去掉。
修正用户注册设置密码链接
打开WordPress程序wp-includes目录中的pluggable.php文件,将大约2003行的:
$message .= '<' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user->user_login ), 'login' ) . ">\r\n\r\n";
改为
$message .= '' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user->user_login ), 'login' ) . "\r\n\r\n";
也是只需要把代码中前后<>符号去掉即可。
缺点:升级WordPress程序后,需要再次修改。
二、一劳永逸的方法
这也是本文的重点,也是应主题用户的要求,添加到目前主题中的方法,这里分享一下。
将下面代码添加到当前主题函数模板functions.php中即可。
// 修正忘记密码获取新密码链接 add_filter('retrieve_password_message', 'zm_reset_password_message_amend', 99, 1); function zm_reset_password_message_amend($string) { return preg_replace('/<(' . preg_quote(network_site_url(), '/') . '[^>]*)>/', '\1', $string); } // 修正用户注册设置密码链接 add_filter( 'wp_new_user_notification_email' , 'zm_user_notification_email_amend', 10, 3 ); function zm_user_notification_email_amend( $wp_new_user_notification_email, $user, $user_email ) { global $wpdb, $wp_hasher; $key = wp_generate_password( 20, false ); do_action( 'retrieve_password_key', $user->user_login, $key ); if ( empty( $wp_hasher ) ) { require_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); } $hashed = time() . ':' . $wp_hasher->HashPassword( $key ); $wpdb->update( $wpdb->users, array( 'user_activation_key' => $hashed ), array( 'user_login' => $user->user_login ) ); $switched_locale = switch_to_locale( get_user_locale( $user ) ); $message = sprintf(__('Username: %s'), $user->display_name) . "\r\n\r\n"; $message .= __('To set your password, visit the following address:') . "\r\n\r\n"; $message .= '' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n"; $wp_new_user_notification_email['message'] = $message; return $wp_new_user_notification_email; }
网上能找到修正重置密码链接的方法,不过代码略显拖沓,本文的方法只一句关键代码解决。
至于修正用户注册设置密码链接,经过重写邮件函数解决,貌似代码还有精简的余地,以后再研究了。
优点:一劳永逸,不会因为WordPress程序的频繁升级而再次修改。
更多编程相关内容,请关注php中文网编程入门栏目!
The above is the detailed content of How to Fix WordPress Password Settings Link Error. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP and Flutter are popular technologies for mobile development. Flutter excels in cross-platform capabilities, performance and user interface, and is suitable for applications that require high performance, cross-platform and customized UI. PHP is suitable for server-side applications with lower performance and not cross-platform.

You can easily modify your WordPress page width by editing your style.css file: Edit your style.css file and add .site-content { max-width: [your preferred width]; }. Edit [your preferred width] to set the page width. Save changes and clear cache (optional).

WordPress posts are stored in the /wp-content/uploads folder. This folder uses subfolders to categorize different types of uploads, including articles organized by year, month, and article ID. Article files are stored in plain text format (.txt), and the filename usually includes its ID and title.

Create a product page in WordPress: 1. Create the product (name, description, pictures); 2. Customize the page template (add title, description, pictures, buttons); 3. Enter product information (stock, size, weight); 4 . Create variations (different colors, sizes); 5. Set visibility (public or hidden); 6. Enable/disable comments; 7. Preview and publish the page.

WordPress template files are located in the /wp-content/themes/[theme name]/ directory. They are used to determine the appearance and functionality of the website, including header (header.php), footer (footer.php), main template (index.php), single article (single.php), page (page.php), Archive (archive.php), category (category.php), tag (tag.php), search (search.php) and 404 error page (404.php). By editing and modifying these files, you can customize the appearance of your WordPress website

Search for authors in WordPress: 1. Once logged in to your admin panel, navigate to Posts or Pages, enter the author name using the search bar, and select Author in Filters. 2. Other tips: Use wildcards to broaden your search, use operators to combine criteria, or enter author IDs to search for articles.

The most stable WordPress version is the latest version because it contains the latest security patches, performance enhancements, and introduces new features and improvements. In order to update to the latest version, log into your WordPress dashboard, go to the Updates page and click Update Now.

WordPress requires registration. According to my country's "Internet Security Management Measures", websites that provide Internet information services within the country must register with the local provincial Internet Information Office, including WordPress. The registration process includes steps such as selecting a service provider, preparing information, submitting an application, reviewing and publishing, and obtaining a registration number. The benefits of filing include legal compliance, improving credibility, meeting access requirements, ensuring normal access, etc. The filing information must be true and valid, and must be updated regularly after filing.
