WordPress禁止特定用戶修改密碼的方法
發(fā)布時(shí)間:2014-12-20 14:56:28 作者:佚名
我要評(píng)論

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