Wordpress Account Login Session Redirect

워드프레스 로그인 계정 세션 연동 리다이렉트 페이지

워드프레스의 로그인 세션과 연동해서 비로그인시 해당 페이지를 리다이렉트 시키는 방법 입니다.

인덱스 페이지 파일안에 PHP 세션을 활성화 시키고 $_SESSION['wp_uidev_logged_in'] 란 세션으 만들어 예외처리 코드를 추가 합니다.

index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
session_start();

if (!$_SESSION['wp_uidev_logged_in']) {
$description = '설명';
$title = '제목';
$error_message = "이 페이지에 접근 권한이 없습니다.'\n\n- J Dev 블로그 계정으로 로그인중인 사용자만 접근할 수 있습니다.\n- J Dev 블로그 로그인 계정으로 인증 한 후 다시 접속해 주세요.";
$error_message = preg_replace('/(\r\n|\r|\n)/', '\n', addslashes($error_message));
$redirect_url = 'https://www.google.co.kr/wordpress/wp-admin/';

echo "<!DOCTYPE html><html lang=\"ko\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"><meta name=\"description\" content=\"{$description}\"><meta name=\"author\" content=\"woonyzzang\"><title>{$title}</title></head><body><script>alert('{$error_message}');location.replace('{$redirect_url}');</script></body></html>";

exit;
}
?>
<!DOCTYPE html><html lang="ko"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="description" content="설명"><meta name="author" content="wonyzzang"><title>타이틀</title></head><body<h1>Hello World!</h1></body></html>

워드프레스 파일 안의 functions.php 파일안에 아래 코드를 추가 합니다. 인덱스 파일에서 만들었던 $_SESSION['wp_uidev_logged_in'] 세션으로 워드프레스 블로그에 로그인 중인지 아닌지를 판별 합니다.

functions.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 로그인 후 세션생성
function session_login() {
if (!isset($_SESSION['wp_uidev_logged_in'])) {
$_SESSION['wp_uidev_logged_in'] = true;
}
}

add_action('wp_login', 'session_login');

// 로그아웃 시 세션종료
function session_logout() {
unset($_SESSION['wp_uidev_logged_in']);
// session_destroy();
}

add_action('wp_logout', 'session_logout');
공유하기