公開ページからリンクされたいくつかの非公開ページがあります。デフォルトでは、ログインしていないユーザーがこれらのリンクのいずれかをクリックすると、404 ページが表示されます。ログインページを取得してから、リクエストしたページに進んでもらいたいと思います。
Pete の Redirect プラグインは優れていますが、ログイン後にユーザー/ロールごとに指定されたページに移動したいと考えています。リクエストされたページに進みたいと思います。
助言がありますか?ありがとう、金持ち
これが正しいやり方です
add_action('wp', 'redirect_private_page_to_login');
function redirect_private_page_to_login(){
global $wp_query;
$queried_object = get_queried_object();
if ($queried_object->post_status == "private" && !is_user_logged_in()) {
wp_redirect(home_url('/login?redirect='.get_permalink($queried_object->ID)));
}
}
if(is_user_logged_in()){
echo '<a href="link to pvt page"> pvt page </a>';
} else{
echo '<a href="link to Login page"> login to continue </a>';
}