ユーザーをリダイレクトしたいのですが、彼のユーザーIDは6です。そのため、このコードをfunctions.php
に追加しました。
if ( is_user_logged_in() ) {
$user_id = get_current_user_id();
if ($user_id == 6) {
/* redirect users to front page after login */
function redirect_to_front_page() {
global $redirect_to;
if (!isset($_GET['redirect_to'])) {
$redirect_to = get_option('siteurl');
}
}
add_action('login_form', 'redirect_to_front_page');
}
}
しかし、それでもユーザーはログイン後にrpofileページに行きます。どうやって動かすことができますか?
[更新] それから私はユーザーIDではなくユーザー名に変更しようとしましたが、それでも同じです。彼はログイン後にプロフィールページを取得します。このような:
function redirect_to_front_page() {
global $redirect_to;
if ( is_user_logged_in() ) {
//$user_id = get_current_user_id();
$current_user = wp_get_current_user();
//if ($user_id == 6)
if ($current_user->user_login = 'hirer') {
/* redirect users to front page after login */
if (!isset($_GET['redirect_to'])) {
$redirect_to = get_option('siteurl');
}
}
}
}
add_action('login_redirect', 'redirect_to_front_page');
まだ何も変わっていません。ユーザーはログインするとプロフィールページを取得します。
login_redirect
フィルタ を返す リダイレクト先を使用する必要があります。
add_filter( 'login_redirect', 'redirect_to_home', 10, 3 );
function redirect_to_home( $redirect_to, $request, $user ) {
if( $user->ID == 6 ) {
//If user ID is 6, redirect to home
return get_home_url();
} else {
//If user ID is not 6, leave WordPress handle the redirection as usual
return $redirect_to;
}
}
代わりにlogin_redirect
フックを使用してくださいlogin_form
そして、あなたはあなたの関数の中で条件を動かすことができます
以下のコードのように。
function redirect_to_front_page() {
global $redirect_to;
if ( is_user_logged_in() ) {
$user_id = get_current_user_id();
if ($user_id == 6) {
/* redirect users to front page after login */
if (!isset($_GET['redirect_to'])) {
return $redirect_to = get_option('siteurl');
}
}
}
}
add_action('login_redirect', 'redirect_to_front_page' , 10 , 3 );