WordPress禁止特定用戶修改密碼的方法
發(fā)布時間:2014-12-20 14:56:28 作者:佚名
我要評論
這篇文章主要為大家介紹了WordPress禁止特定用戶修改密碼的方法,涉及針對公共賬號權限的修改,非常具有實用價值,需要的朋友可以參考下
本文實例講述了WordPress禁止特定用戶修改密碼的方法。分享給大家供大家參考。具體方法如下:
有時我們希望有些用戶不能修改密碼,而有些用戶是可以修改密碼的,這里就來給大家介紹關于WordPress禁止特定用戶修改密碼方法.
方法很簡單,去掉這個公共帳號修改密碼的權限即可,我們可以在主題目錄下的functions.php中添加以下代碼:
復制代碼
代碼如下:$disable_ids = array( 2 ); // 禁止修改密碼的用戶id
global $current_user;
get_currentuserinfo();
if ( in_array( $current_user->ID, $disable_ids ) ) {
// 后臺個人資料頁,隱藏密碼輸入框
add_filter('show_password_fields', create_function('$nopass_profile', 'return false;'));
// 防止通過其他手段提交密碼修改
add_action('personal_options_update', 'no_save_pwd');
}
function no_save_pwd( $user_id ) {
if(!emptyempty($_POST['pass1'])) $_POST['pass1'] = '';
if(!emptyempty($_POST['pass2'])) $_POST['pass2'] = '';
}
// 禁止使用密碼找回功能
add_filter('allow_password_reset', 'no_reset_pwd', 10, 2);
function no_reset_pwd( $allow, $user_id ) {
global $disable_ids;
if ( in_array( $user_id, $disable_ids ) )
$allow = false;
return $allow;
}
global $current_user;
get_currentuserinfo();
if ( in_array( $current_user->ID, $disable_ids ) ) {
// 后臺個人資料頁,隱藏密碼輸入框
add_filter('show_password_fields', create_function('$nopass_profile', 'return false;'));
// 防止通過其他手段提交密碼修改
add_action('personal_options_update', 'no_save_pwd');
}
function no_save_pwd( $user_id ) {
if(!emptyempty($_POST['pass1'])) $_POST['pass1'] = '';
if(!emptyempty($_POST['pass2'])) $_POST['pass2'] = '';
}
// 禁止使用密碼找回功能
add_filter('allow_password_reset', 'no_reset_pwd', 10, 2);
function no_reset_pwd( $allow, $user_id ) {
global $disable_ids;
if ( in_array( $user_id, $disable_ids ) )
$allow = false;
return $allow;
}
以上代碼第1行中的 2 是要禁止其修改密碼的用戶id,如果要禁止多個用戶修改密碼,多個id可以用半角逗號隔開,如 array( 2, 10 ),需要說明的,禁止修改密碼的用戶角色不能是管理員,因為管理員可以進入后臺 – 外觀 – 編輯,修改functions.php中的代碼.
如果你想禁止某用戶編輯個人資料我們可以參考下面方法,我們在當前主題的functions.php中添加以下代碼:
復制代碼
代碼如下:function disable_user_profile() {
if ( is_admin() ) {
$user = wp_get_current_user();
if ( 2 == $user->ID ) // 2 改成該用戶的id
wp_die( '禁止訪問' );
}
}
add_action( 'load-profile.php', 'disable_user_profile' );
if ( is_admin() ) {
$user = wp_get_current_user();
if ( 2 == $user->ID ) // 2 改成該用戶的id
wp_die( '禁止訪問' );
}
}
add_action( 'load-profile.php', 'disable_user_profile' );
當然,如果你使用前臺的用戶管理功能,以上方法就失效了.
希望本文所述對大家的WordPress建站有所幫助。
相關文章
- WordPress的模板非常靈活,一個優(yōu)秀的模板所實現的功能往往超出你的想象。這篇文章說說在WordPress里調用文章的發(fā)布日期。2009-12-28
Wordpress忘記后臺密碼怎么辦 輕松找回WP密碼的方法
有的站長很馬虎.時常忘記密碼.那如何解決呢.下面我們來看一下2012-07-23WordPress中J.parentNode為空或不是對象的解決方法
最近擺弄WP,感受到其系統(tǒng)的靈活性和插件的功能強大,客戶要求能夠在線播放本地服務器上的flv格式視頻,經過比較后選擇了插件 flash-video-player,用IE6打開首頁時出現:j.par2010-03-29- 不少使用WordPress程序的博主們連主題也是用老外的,而這個過程往往會出現一些小問題。當我們在尋找到一份漂亮主題安裝后,發(fā)現博文標題無法支持中文,原因是老外的主題的2011-05-01
- WordPress在使用一切正常,無意查看源代碼發(fā)現中文字符為亂碼。潛意識告訴我們,應該是編碼問題,問題應該是主題模板的變法,于是把所有模板文件都用EDITPLUS另存問UFT-8變2010-06-06
- Wordpress自帶著wp_tag_cloud()函數,但只在頁面?zhèn)冗咃@示往往就不夠了.需要一個單頁來放所有的Tags2010-01-24
- 本打算將導航菜單里的重要鏈接修改一下顏色以加亮顯示。雖然知道修改應該是在鏈接更多選項里CSS類中進行,但具體設置方法還是不太清楚,嘗試求助搜索引擎也沒找什么有價值2012-04-25
- 網上搜了一下“忘記wordpress的登錄密碼”, 可以找到一大堆的解決方法,比如通過郵件討回,但這個需要服務器支持,還有通過直接訪問數據庫更改的,但也至少需要去安裝個my2010-05-28
- WordPress發(fā)送郵件的函數是wp_mail(),默認以純文本(text/plain)格式發(fā)送,通過wp_mail()提供的filter函數可以更改為以HTML格式發(fā)送,也可以通過制定wp_mail()的第四個參2012-07-26
- 從 WP 2.8.5 開始文件上傳使用預定義的文件擴展名列表過濾,管理員也不例外。2010-01-18

