搜尋
首頁CMS教程&#&按如何修正 WordPress 密碼設定連結錯誤

下面由WordPress教程栏目给大家介绍修正 WordPress 密码设置链接错误的方法,希望对需要的朋友有所帮助!

如何修正 WordPress 密碼設定連結錯誤

当用户注册或者忘记密码获取新密码时WordPress会自动向用户邮箱中发送一个验证链接地址,用户通过打开这个链接设置密码,不过经常发现这个链接直接打开后,并不是设置密码的正确链接。

这个问题的并不是WordPress的原因,正常WordPress设置密码的链接地址是没有超链接的,而是QQ邮箱自作聪明为个链接地址加上了超链接,并把本不是链接地址内容的符号也加了进去,结果造成链接错误,貌似只有大家常用的QQ邮箱有此问题。这是一个老生常谈问题,网上解决办法比比皆是,不过都是千篇一律,充分体现了天下文章一大抄。

下面是我的解决方法,以WordPress 5.3.2为例:

一、最简单的方法

修改WordPress程序文件删除代码中的符号,

修正忘记密码获取新密码链接

打开WordPress程序根目录的wp-login.php文件,将大约417行的:

$message .= &#39;<&#39; . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), &#39;login&#39; ) . ">\r\n";

改为:

$message .= &#39;&#39; . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), &#39;login&#39; ) . "\r\n";

只是把代码中前后符号去掉。

修正用户注册设置密码链接

打开WordPress程序wp-includes目录中的pluggable.php文件,将大约2003行的:

$message .= &#39;<&#39; . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user->user_login ), &#39;login&#39; ) . ">\r\n\r\n";

改为

$message .= &#39;&#39; . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user->user_login ), &#39;login&#39; ) . "\r\n\r\n";

也是只需要把代码中前后符号去掉即可。

缺点:升级WordPress程序后,需要再次修改。

二、一劳永逸的方法

这也是本文的重点,也是应主题用户的要求,添加到目前主题中的方法,这里分享一下。

将下面代码添加到当前主题函数模板functions.php中即可。

// 修正忘记密码获取新密码链接
add_filter(&#39;retrieve_password_message&#39;, &#39;zm_reset_password_message_amend&#39;, 99, 1);
function zm_reset_password_message_amend($string) {
return preg_replace(&#39;/<(&#39; . preg_quote(network_site_url(), &#39;/&#39;) . &#39;[^>]*)>/&#39;, &#39;\1&#39;, $string);
}
 
// 修正用户注册设置密码链接
add_filter( &#39;wp_new_user_notification_email&#39; , &#39;zm_user_notification_email_amend&#39;, 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( &#39;retrieve_password_key&#39;, $user->user_login, $key );
if ( empty( $wp_hasher ) ) {
require_once ABSPATH . WPINC . &#39;/class-phpass.php&#39;;
$wp_hasher = new PasswordHash( 8, true );
}
$hashed = time() . &#39;:&#39; . $wp_hasher->HashPassword( $key );
$wpdb->update( $wpdb->users, array( &#39;user_activation_key&#39; => $hashed ), array( &#39;user_login&#39; => $user->user_login ) );
$switched_locale = switch_to_locale( get_user_locale( $user ) );
$message = sprintf(__(&#39;Username: %s&#39;), $user->display_name) . "\r\n\r\n";
$message .= __(&#39;To set your password, visit the following address:&#39;) . "\r\n\r\n";
$message .= &#39;&#39; . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), &#39;login&#39;) . "\r\n\r\n";
$wp_new_user_notification_email[&#39;message&#39;] = $message;
return $wp_new_user_notification_email;
}

网上能找到修正重置密码链接的方法,不过代码略显拖沓,本文的方法只一句关键代码解决。

至于修正用户注册设置密码链接,经过重写邮件函数解决,貌似代码还有精简的余地,以后再研究了。

优点:一劳永逸,不会因为WordPress程序的频繁升级而再次修改。

更多编程相关内容,请关注php中文网编程入门栏目!

以上是如何修正 WordPress 密碼設定連結錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:zmingcx。如有侵權,請聯絡admin@php.cn刪除
wordpress怎麼加評論框wordpress怎麼加評論框Apr 20, 2025 pm 12:15 PM

在 WordPress 網站上啟用評論功能,可以為訪客提供參與討論和分享反饋的平台。為此,請按照以下步驟操作:啟用評論:在儀錶盤中,導航至“設置”>“討論”,並選中“允許評論”複選框。創建評論表單:在編輯器中,單擊“添加塊”並蒐索“評論”塊,將其添加到內容中。自定義評論表單:通過設置標題、標籤、佔位符和按鈕文本來定制評論塊。保存更改:單擊“更新”以保存評論框並將其添加到頁面或文章中。

wordpress怎麼複製子站wordpress怎麼複製子站Apr 20, 2025 pm 12:12 PM

如何復制 WordPress 子站?步驟:在主站創建子站。在主站克隆子站。將克隆導入目標位置。更新域名(可選)。分開插件和主題。

wordpress怎麼寫頁頭wordpress怎麼寫頁頭Apr 20, 2025 pm 12:09 PM

在WordPress中創建自定義頁頭的步驟如下:編輯主題文件“header.php”。添加您的網站名稱和描述。創建導航菜單。添加搜索欄。保存更改並查看您的自定義頁頭。

wordpress評論怎麼顯示wordpress評論怎麼顯示Apr 20, 2025 pm 12:06 PM

WordPress 網站中啟用評論功能:1. 登錄管理面板,轉到 "設置"-"討論",勾選 "允許評論";2. 選擇顯示評論的位置;3. 自定義評論表單;4. 管理評論,批准、拒絕或刪除;5. 使用 <?php comments_template(); ?> 標籤顯示評論;6. 啟用嵌套評論;7. 調整評論外形;8. 使用插件和驗證碼防止垃圾評論;9. 鼓勵用戶使用 Gravatar 頭像;10. 創建評論指

wordpress怎麼上傳源碼wordpress怎麼上傳源碼Apr 20, 2025 pm 12:03 PM

可以通過 WordPress 安裝 FTP 插件,配置 FTP 連接,然後使用文件管理器上傳源碼。步驟包括:安裝 FTP 插件、配置連接、瀏覽上傳位置、上傳文件、檢查上傳成功。

wordpress代碼怎麼複製wordpress代碼怎麼複製Apr 20, 2025 pm 12:00 PM

如何復制 WordPress 代碼?從管理界面複製:登錄 WordPress 網站,導航到目標位置,選擇代碼並按 Ctrl C (Windows)/Command C (Mac) 複製代碼。從文件複製:使用 SSH 或 FTP 連接到服務器,導航到主題或插件文件,選擇代碼並按 Ctrl C (Windows)/Command C (Mac) 複製代碼。

wordpress出現錯誤怎麼辦wordpress出現錯誤怎麼辦Apr 20, 2025 am 11:57 AM

WordPress 錯誤解決指南:500 內部服務器錯誤:禁用插件或檢查服務器錯誤日誌。 404 未找到頁面:檢查 permalink 並確保頁面鏈接正確。白屏死機:增加服務器 PHP 內存限制。數據庫連接錯誤:檢查數據庫服務器狀態和 WordPress 配置。其他技巧:啟用調試模式、檢查錯誤日誌和尋求支持。預防錯誤:定期更新 WordPress、僅安裝必要插件、定期備份網站和優化網站性能。

wordpress怎麼關閉評論wordpress怎麼關閉評論Apr 20, 2025 am 11:54 AM

如何在 WordPress 中關閉評論?特定文章或頁面:在編輯器中取消選中“討論”下的“允許評論”。整個網站:在“設置”->“討論”中取消選中“允許發表評論”。使用插件:安裝 Disable Comments 等插件禁用評論。編輯主題文件:通過編輯 comments.php 文件移除評論表單。自定義代碼:使用 add_filter() 函數禁用評論。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)