1

ロール「subscriber」にedit_post機能を付与しようとしています。これは成功していますが、サインイン時にデフォルトのワードプレスwp-adminページからユーザーを遠ざけるようには見えません。

(edit_post権限で)ログインする推奨ソリューションを試すと、ユーザーはwp-adminページにリダイレクトされます。

私が何をしてもサインインすると、wordpressはそれらをwp-adminに転送し、wordpressバックエンドを表示します。(ユーザーにこれを見せたくない)

これを実行したい理由は、http: //website.com/login/customdashboard/に彼らが使用するカスタムダッシュボードがあるためです。

これを関数にしたいと思います。

プラグインを試しましたが成功しませんでした:
「Peter'sLogin Redirect」と「s2member(ログインウェルカムページ)」

次の機能を試しましたが、成功しませんでした。

function soi_login_redirect( $redirect_to, $request, $user  ) {
    return ( is_array( $user->roles ) && in_array( 'administrator', $user->roles ) ) ? admin_url() : site_url();
} // end soi_login_redirect
add_filter( 'login_redirect', 'soi_login_redirect', 10, 3 );

成功せずに別の試み:

function redirect_login_page(){
$page_viewed = basename($_SERVER['REQUEST_URI']);
 $login_page  = site_url();
 if( $page_viewed == "wp-login.php" && $_SERVER['REQUEST_METHOD'] == 'GET') {
 wp_redirect($login_page);
 exit();
 }
}
add_action('init','redirect_login_page');

この点での助けをいただければ幸いです。

4

1 に答える 1

1

すべての/wp-adminアドレスをリダイレクトする場合は、次を使用できます。

add_action( 'admin_init', 'redirect_so_15396771' );

function redirect_so_15396771()
{   
    if ( defined( 'DOING_AJAX' ) && DOING_AJAX )  
        return;

    // http://codex.wordpress.org/Roles_and_Capabilities
    if ( !current_user_can('delete_users') ) {
            wp_redirect( site_url( '/login/customdashboard/' ) );
            exit();
    }
}

現在のページに従ってこれをフィルタリングする必要がある場合は、、、などの値を持つグローバルを使用でき$pagenowますindex.phpprofile.phptools.php

于 2013-03-13T21:32:39.683 に答える