3

私はfunctions.phpで次のコードを使用して、wp-login.phpにいる場合を除いて、ログインしていないユーザーをリダイレクトしています。

if(!is_user_logged_in() && $pagenow != 'wp-login.php') {
wp_redirect( 'http://signup.mysite.com', 302 );
}

ただし、別のログインページを使用し、基本的にmysite.com/wp-login.phpをmysite.com/account/loginにリダイレクトするショッピングカートプラグインをインストールしました。

URLパスをリダイレクトから除外するために使用できるコードはありますか?おそらく何かを置き換えるもの$pagenow != 'wp-login.php'ですか?

4

4 に答える 4

12

これはどう..

//
//  Re-direct not-logged-in users to holding page
//
if(!is_user_logged_in() && curPageURL() != 'http://mysite.com/wp-login.php') {
    wp_redirect( 'http://signup.mysite.com', 302 );
    exit;
}

//
//  Get current page URL
//
function curPageURL() {

    $pageURL = 'http';
    if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}

    $pageURL .= "://";
    if ($_SERVER["SERVER_PORT"] != "80") {
        $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    } else {
        $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    }

    return $pageURL;
}
于 2012-08-21T11:48:24.540 に答える
10

Functions.php を開きます...

ペースト:

// Redirect users who arent logged in...
function login_redirect() {

    // Current Page
    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')
          // If user is, Redirect to Login form.
          auth_redirect();
}
// add the block of code above to the WordPress template
add_action( 'wp', 'login_redirect' );

お役に立てれば :)

于 2013-04-02T16:46:45.503 に答える
0

WordPressis_page( 'login' )is_page( 'account/login' )条件文を試すことができます。

于 2012-06-28T05:26:43.683 に答える