ログイン および 非管理者 usersを、ID 172のページからWebサイトのホームにリダイレクトする必要があります。ログインしていないユーザーも実際にページを見ることができます。
add_action('admin_init', 'xyz');
function xyz() {
if( is_page( 172 ) ) {
if( is_user_logged_in() && ! current_user_can('update_core') ) {
wp_redirect( home_url() );
exit;
}
}
}
問題:このコードは機能していません。
admin_init
は、フロントエンドではなく管理ページで実行されます。同等のフロントエンドアクションinit
は、is_page
をチェックするには時期尚早です。リダイレクトのための安全なアクションはtemplate_redirect
です。
function xyz() {
if( is_page( 172 )
&& ! current_user_can('update_core') ) {
wp_redirect( home_url() );
exit;
}
}
add_action( 'template_redirect', 'xyz' );