在某些場景中我們需要將wordpress中的「找回密碼」/「更改密碼」功能去掉——即登錄頁面中找不到鏈接,實際訪問中也無法使用。來看下具體代碼:
以下代碼將僅允許管理員用戶使用「找回密碼」/「更改密碼」功能
- <?php
- class?Password_Reset_Removed
- {
- ??function?__construct()
- ??{
- ????add_filter(?'show_password_fields',?array(?$this,?'disable'?)?);
- ????add_filter(?'allow_password_reset',?array(?$this,?'disable'?)?);
- ????add_filter(?'gettext',??????????????array(?$this,?'remove'?)?);
- ??}
- ??function?disable()
- ??{
- ????if?(?is_admin()?)?{
- ??????$userdata?=?wp_get_current_user();
- ??????$user?=?new?WP_User($userdata->ID);
- ??????if?(?!emptyempty(?$user->roles?)?&&?is_array(?$user->roles?)?&&?$user->roles[0]?==?'administrator'?)
- ????????return?true;
- ????}
- ????return?false;
- ??}
- ??function?remove($text)
- ??{
- ????return?str_replace(?array('Lost?your?password?',?'Lost?your?password'),?'',?trim($text,?'?')?);
- ??}
- }
- $pass_reset_removed?=?new?Password_Reset_Removed();
- ?>