워드프레스 사이트의 특정 페이지(글)에 로그인을 한 사용자(또는 로그아웃을 한 사용자)가 접속하려 할 때 페이지 접속 자체를 막고, 원하는 다른 곳으로 보내는(리다이렉트) 코드 입니다.
//페이지 ID가 12이고, 로그인한 사용자의 경우 원하는 장소로 리다이렉트하기 add_action( 'template_redirect', 'my_redirect' ); function my_redirect(){ if( is_page('12') && is_user_logged_in() ) { wp_redirect( 'http://example.com/specificpage/'); exit; } }
- template_redirect : 해당하는 쿼리에 대한 전체 데이터를 인지한 후 어떤 템플릿을 사용할 것인가를 결정하기 직전의 액션 훅
- is_page(’12’) : 페이지의 ID가 12인경우 (적당한 훅을 찾지 못할 경우 이 컨디션 태그는 제대로 동작하지 않습니다.)
(페이지 ID 알아내는 방법) - is_user_logged_in() : 로그인한 사용자. 반대는 !is_user_logged_in()
- wp_redirect() : 조건에 맞는경우 다른 페이지로 리다이렉트.