3

ログイン時に特定のメタ タグを持つユーザーを特別なページに送信しようとしています。 $current_user グローバルが利用できない可能性があることはわかっていますが、フィルターはユーザーをパラメーターとして渡すので、私は動作するはずです:

//special login redirect for employers
function employer_login_redirect($redirect_url, $request_url, $user) {
    $user;
    $is_employer = get_user_meta($user->ID, 'is_employer', true);
    var_dump($is_employer);
    if ($is_employer) {
        return get_bloginfo('url') . "/candidate-ranks/";
    } else {
        return $redirect_url;
    }
}
add_filter( 'login_redirect', 'employer_login_redirect', 90, 3 ); //late priority just in case other plugins are interfering

何か不足していますか?var_dumpt を表示することさえできないため、コールバック関数がトリガーされていないと思います。

4

1 に答える 1

0

問題ないように見えますが、site_url ではなく home_url を返すsite_url()ため、使用する必要があると思います。get_bloginfo('url')これは問題になる可能性があります。

function employer_login_redirect($redirect_url, $request_url, $user) {
    $is_employer = get_user_meta($user->ID, 'is_employer', true);
    if ($is_employer) {
        return site_url() . "/candidate-ranks/";
    } else {
        return $redirect_url;
    }
}
add_filter( 'login_redirect', 'employer_login_redirect', 90, 3 );
于 2012-09-29T21:41:42.457 に答える