當(dāng)前位置:首頁>WordPress建站>用戶交互>WordPress 禁止多個(gè)人同時(shí)登錄一個(gè)賬號

WordPress 禁止多個(gè)人同時(shí)登錄一個(gè)賬號

對于開放注冊的 WordPress 站點(diǎn)來說,尤其是有會(huì)員購買服務(wù)的站點(diǎn),可能需要禁止用戶共享賬號,也就是要禁止多個(gè)人同時(shí)登錄一個(gè)賬號。倡萌今天分享老外的一個(gè)方法,大家不妨試試。

將下面的代碼到主題的 functions.php 中即可:

/**
 * Detect if the current user has concurrent sessions
 *
 * @return bool
 */
function pcl_user_has_concurrent_sessions() {
	return ( is_user_logged_in() && count( wp_get_all_sessions() ) > 1 );
}

/**
 * Get the user's current session array
 *
 * @return array
 */
function pcl_get_current_session() {
	$sessions = WP_Session_Tokens::get_instance( get_current_user_id() );

	return $sessions->get( wp_get_session_token() );
}

/**
 * Only allow one session per user
 *
 * If the current user's session has been taken over by a newer
 * session then we will destroy their session automattically and
 * they will have to login again to continue.
 *
 * @action init
 *
 * @return void
 */
function pcl_disallow_account_sharing() {
	if ( ! pcl_user_has_concurrent_sessions() ) {
		return;
	}

	$newest  = max( wp_list_pluck( wp_get_all_sessions(), 'login' ) );
	$session = pcl_get_current_session();

	if ( $session['login'] === $newest ) {
		wp_destroy_other_sessions();
	} else {
		wp_destroy_current_session();
	}
}
add_action( 'init', 'pcl_disallow_account_sharing' );

如果大家不想折騰代碼,可以直接下載插件 Prevent Concurrent Logins 安裝啟用也是一樣的。

2020年6月更新:該代碼和插件不兼容新版本W(wǎng)P了,請使用 Wp Single Login 替代。

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號 WPDAXUE
用戶交互

WordPress 修改用戶角色名稱和添加新用戶角色

2014-12-18 8:28:33

后臺定制用戶交互

WordPress 后臺只顯示當(dāng)前登錄用戶的文章、頁面和媒體

2015-1-6 8:25:09

3 條回復(fù) A文章作者 M管理員
  1. 用了,不錯(cuò)。

  2. 從安全考慮,這個(gè)還是比較有用的

  3. 撒花!

?
個(gè)人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

宜章县| 肃宁县| 炎陵县| 垣曲县| 剑川县| 邓州市| 新邵县| 木兰县| 南投县| 三都| 石渠县| 唐河县| 吴旗县| 江永县| 任丘市| 云安县| 洪洞县| 田阳县| 教育| 西和县| 府谷县| 永丰县| 兴隆县| 赤壁市| 赞皇县| 高唐县| 兴海县| 逊克县| 康定县| 容城县| 高唐县| 光山县| 什邡市| 博乐市| 车致| 丰镇市| 吉安县| 太湖县| 东乡县| 霸州市| 三江|