기술 가이드

WordPress에서 게시물 발행 전 확인 메시지 추가하는 방법

4 min read WordPress 업데이트됨 20 Oct 2025
WordPress 발행 전 확인 메시지 추가하기
WordPress 발행 전 확인 메시지 추가하기

문제와 이유

블로거들은 빠르게 글을 올리려다 실수로 ‘발행’ 버튼을 눌러 글이 미완성 상태로 공개되는 상황을 겪을 수 있습니다. 이런 실수는 독자 경험을 해치고, 이메일 구독자에게 미완성 글이 발송되거나 소셜 미디어에 공유되어 혼란을 초래할 수 있습니다. 검색 엔진 최적화(SEO) 관점에서도 완성되지 않은 콘텐츠는 품질 저하로 이어질 수 있습니다.

중요: 발행 확인 대화상자는 실수로 인한 즉시 공개를 방지하는 간단하지만 효과적인 안전장치입니다.

옵션 요약

  • 빠르고 쉬운 방법: 무료 플러그인 사용(설정 불필요)
  • 가벼운 방법: 테마의 functions.php나 사이트 전용 플러그인에 간단한 코드 추가

플러그인 사용(간단한 방법)

가장 쉬운 방법은 Confirm Publishing Actions라는 무료 플러그인을 설치하는 것입니다. 이 플러그인은 발행, 업데이트, 삭제 시 확인 메시지를 띄워 실수로 작업을 진행하지 못하도록 합니다.

설치 방법 요약:

  • 워드프레스 관리자 화면 > 플러그인 > 새로 추가에서 “Confirm Publishing Actions” 검색 후 설치 및 활성화
  • 혹은 ZIP 파일을 wp-content/plugins 폴더에 업로드한 뒤 관리자에서 활성화

플러그인 특징:

  • 별도 설정이 없는 경우가 많아 설치 후 즉시 동작
  • 코드 수정 없이 안전장치 추가 가능

참고: 플러그인이 활성화되어도 특정 테마나 다른 플러그인과 충돌하는 경우가 있습니다. 설치 후 간단한 테스트를 진행하세요.

코드 스니펫 추가(플러그인 없이 가벼운 방법)

플러그인을 추가하고 싶지 않다면, 테마의 functions.php 파일이나 사이트 전용 플러그인에 아래 코드를 붙여 넣어 확인 메시지를 구현할 수 있습니다. 코드 수정 전에는 항상 백업을 권장합니다.

function add_publish_confirmation() {
    $confirmation_message = "게시물을 공개하시겠습니까?";
    echo "\n";
}
add_action('admin_footer','add_publish_confirmation');

사용 방법:

  • 위 코드를 테마의 functions.php 파일 끝부분(자식 테마 권장)에 붙여넣고 저장하세요.
  • 메시지를 바꾸고 싶다면 2번째 줄의 $confirmation_message 내용을 한 줄로 수정하세요.
  • 새 편집기(Gutenberg)나 다른 커스텀 에디터에서는 버튼 ID나 클래스가 다를 수 있으므로 필요 시 선택자(‘#publish’)를 조정해야 합니다.

중요: 이 스니펫은 관리 화면에서 jQuery를 사용합니다. jQuery가 비활성화되어 있거나 편집기에서 버튼 구조가 다르면 동작하지 않을 수 있습니다.

언제 이 방법들이 통하지 않을 때와 해결책

  • 블록 편집기(Gutenberg)의 새 publish 버튼은 다른 클래스나 이벤트를 사용합니다. 해결책: 브라우저 개발자 도구로 실제 버튼 셀렉터를 확인한 뒤 스니펫의 선택자를 조정하세요.
  • 자바스크립트가 관리자 화면에서 차단된 경우: 스니펫이 실행되지 않으므로 플러그인 사용을 고려하세요.
  • 다중 편집 워크플로우(편집자·기고자 권한)에서 자동화 알림이 있는 경우: 역할별 테스트를 통해 부작용을 확인하세요.

테스트 체크리스트

  • 관리자 계정으로 로그인 후 새 글 작성 화면에서 발행 버튼 클릭 시 확인 팝업이 표시되는가?
  • 취소를 누르면 게시물이 공개되지 않는가?
  • 퍼블리시 외의 버튼(저장, 미리보기 등)에 영향이 없는가?
  • 편집자/저자 등 다른 권한 사용자로도 동작하는가?
  • 사이트의 다른 플러그인(특히 캐시/관리용 플러그인)과 충돌하지 않는가?

문제 해결(롤백 & 디버깅)

  • 작동하지 않으면 functions.php에 붙여넣은 코드 앞뒤로 문법 오류가 없는지 확인하세요. PHP 오류가 발생하면 사이트가 관리자 화면에서 에러를 낼 수 있습니다.
  • 관리자 화면에서 자바스크립트 콘솔(개발자 도구)을 열어 오류 여부를 확인하세요.
  • 문제가 계속되면 해당 코드를 주석 처리하거나 삭제하면 기능이 원상복구됩니다.
  • 플러그인 사용 시 문제가 생기면 플러그인을 비활성화해 원인을 좁히세요.

대체 접근법 및 고급 팁

  • 역할 기반 접근: 특정 역할(예: 기고자)에게만 확인창을 띄우려면 add_publish_confirmation 함수 안에서 current_user_can() 함수를 사용해 조건부로 동작시킬 수 있습니다.
  • 사이트 전용 플러그인으로 관리: 여러 테마를 사용하는 경우 functions.php가 아닌 사이트 전용 플러그인에 넣으면 유지관리가 편합니다.
  • 서버 사이드 보호: 클라이언트 스크립트가 차단되는 극단적인 환경에서는 게시물 상태 체크(예: 예정된 날짜가 아닌가, 내용 길이가 짧지는 않은가 등)를 서버 측에서 검증하는 추가 로직을 구현하세요.

간단한 체크리스트(역할별)

  • 관리자: 플러그인 설치 및 전체 테스트 담당
  • 개발자/운영자: functions.php 백업 및 코드 적용 담당
  • 에디터/콘텐츠팀: 게시 테스트 및 사용자 안내 문구 검토 담당

참고: 위 모든 변경 전에는 항상 전체 사이트 백업을 권장합니다.

결론

발행 전 확인 메시지는 간단한 조치지만 실수로 인한 게시물 공개, 독자 혼란, 구독자에게 미완성 콘텐츠 발송 등을 예방하는 데 효과적입니다. 플러그인으로 간단히 해결하거나, 코드로 가볍게 구현하는 두 가지 방법 중 상황에 맞는 방법을 선택하세요.

요약:

  • 가장 쉬운 방법: Confirm Publishing Actions 플러그인 설치
  • 가벼운 방법: functions.php에 스니펫 추가
  • 테스트와 백업은 필수

중요: 문제가 발생하면 코드를 주석 처리하거나 플러그인을 비활성화하면 원래 상태로 되돌릴 수 있습니다. 궁금한 점이나 적용 중 문제가 있으면 댓글로 문의하세요.

공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

Amazon Prime Video에서 X-Ray 끄는 방법
가이드

Amazon Prime Video에서 X-Ray 끄는 방법

아이폰 수신 전화 화면 안뜰 때 해결 방법
모바일

아이폰 수신 전화 화면 안뜰 때 해결 방법

WordPress에서 페이지별 위젯 표시하기 — 코드 없이 설정
WordPress

WordPress에서 페이지별 위젯 표시하기 — 코드 없이 설정

Windows 11 Moment 업데이트를 먼저 받는 방법
Windows

Windows 11 Moment 업데이트를 먼저 받는 방법

VirtualBox 공유 폴더 설정 가이드
가상화

VirtualBox 공유 폴더 설정 가이드

페이스북 계속 로그아웃될 때 완전 해결 가이드
트러블슈팅

페이스북 계속 로그아웃될 때 완전 해결 가이드