簡體   English   中英

Wordpress:登錄用戶但無權訪問wp-admin

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM