일시적으로 워드프레스 사이트 서비스 중지를 알리는 더 간단한 방법

사이트 작업할 때 공사중 페이지를 플러그인 없이 구현하는 내용을 플러그인 없이 워드프레스 공사 중 페이지 만들기 글에 소개하였는데, 그 내용은 보통 사이트를 아직 완전히 구성하지 않은 단계에서 해볼 수 있는 보통의 ‘공사중 페이지’방법입니다.

사이트를 운용 중에 사용해도 되지만, 여러 사람이 콘텐츠를 등록할 때 비회원 방문자와 검색엔진에 일시적인 서비스 중지를 알리고 회원은 접근 가능하여 콘텐츠를 등록할 수 있어야 하는 상황도 때로 있습니다.

아래 코드 정도면 이러한 상황을 처리하는 데에 충분할 거 같습니다.

add_action( 'get_header', 'mysite2121_maintenance_mode' );
function mysite2121_maintenance_mode(){
    if( ! current_user_can('moderate_comments') || !is_user_logged_in() ) {
		wp_die(
			'<h1 style="color:black;margin-bottom: 1em; padding-bottom: 1em">잠깐 점검하고 있습니다.</h1><p>더 좋은 환경을 위해 작은 문제를 해결하고 있습니다. 빨리 서비스를 사용할 수 있도록 하겠습니다.</p>',
			'잠깐접근제한',
			array(
				'response' => 503,
				'back_link' => true
			)
		);
    }
}

가입제 사이트가 아니라고 가정하여 is_user_logged_in 조건 추가, 로그인한 회원 중에 editor Role 이상 접근 가능한 설정을 위해 moderate_comments capability 를 사용할 수 있습니다.

moderate_comments capability는 editor, administrator Role만 (기본으로) 가지고 있습니다.

functions.php 또는 기타 코드 추가 가능한 곳에 추가하면 됩니다.

가입제 사이트가 아니기에 get_header 훅이 아니라 template_redirect 훅으로 로그인 전 상태에서 로그인 페이지로 이동(Redirect)하거나 다른 안내 페이지를 만들어 그 페이지로 이동하도록 할 수 있습니다.

그런데, 일시적인 서비스 중지임을 검색엔진에 알리는 것이 필요할 수 있으므로 소개한 코드 정도면 충분할 거에요.

이메일로 소식 받기

이메일로 새로운 포스트를 받으려면 아래에 이메일 주소를 입력하고, 구독합니다! 버튼을 클릭하세요. 그리고 입력한 이메일 계정에 접속하여 구독 확인 메일 내용을 확인하세요.

댓글 남기기

댓글 1