[英]Wordpress: Login for Users Without access to wp-admin
我有一個wordpress應用程序,希望公眾只有在注冊和登錄后才能查看該網站。
另外,我不希望用戶在注冊時可以訪問wp-admin。 我使用了Theme My Login
插件,但是它所做的只是幫助您獲得自定義的wp-login頁面,因為注冊用戶將可以訪問wp-admin。
PS:很抱歉,如果以前沒有問過這個問題,我找不到它,很難在沒有看到僅自定義wp-login頁面的頁面的情況下使用“具有自定義登錄名的wordpress”進行搜索。
我有一個WordPress網站要求,只有登錄的用戶才能看到該網站及其內容。 幾年前,我遇到了這段代碼,發現它很有幫助。 將其放入您的functions.php中,當有訪客登錄並且沒有登錄時,它將重定向到wp-login.php頁面進行登錄。 登錄后,他們便可以查看該站點而不會被阻止。
這是一個示例,它可以幫助使不需要的訪問者遠離您的網站內容。
在下面添加塊,使您的網站僅可用於已登錄身份驗證的用戶。 如果用戶未通過身份驗證,那么他們將被重定向到登錄頁面
<?php
// Redirect users who arent logged in...
function members_only() {
global $pagenow;
// Check to see if user in not logged in and not on the login page
if( !is_user_logged_in() && $pagenow != 'wp-login.php' )
auth_redirect();
}
add_action( 'wp', 'members_only' );
?>
如果您正在尋找自定義登錄頁面? 我知道有一個插件可以為您完成此任務,例如“主題我的登錄名”。 另外,在用戶登錄后,您希望他們被重定向回站點並且沒有儀表板訪問權限嗎? 您可以嘗試使用“刪除儀表板訪問權限”插件。 希望這可以幫助!
強制登錄 WordPress插件可能是您正在尋找的東西。
在我看來,我仍然允許用戶訪問儀表板,以便他們可以使用配置文件部分來更改其密碼,電子郵件等。在基本的訂戶級別,他們不能做更多的事情,因此您不必擔心。
如果您仍然堅持禁止他們訪問儀表板,這可能會有所幫助https://premium.wpmudev.org/blog/limit-access-to-your-wordpress-dashboard/
這是一個有意義的方案,注冊用戶將具有訂戶編輯者角色或您打算設置的任何角色。 您需要為注冊用戶設置限制,使其無法訪問wp-admin
這是可以幫助您實現這一目標的代碼。
您需要將USER_ROLE_NAME_HERE替換為注冊用戶角色。
function wp_register_user_no_admin_access(){
$redirect = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : home_url( '/' );
if ( current_user_can( 'USER_ROLE_NAME_HERE' ) ){
exit( wp_redirect( $redirect ) );
}
}
add_action( 'admin_init', 'wp_register_user_no_admin_access', 100 );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.