[워드프레스] 관리자 영역의 특정 페이지에만 공지 띄우기

Last Updated: 2023년 07월 16일 | | 5개 댓글

워드프레스에서 admin_notices 액션을 사용하면 관리자 페이지의 상단 부근에 공지를 표시할 수 있습니다. admin_notices 액션에 대한 자세한 내용은 WordPress Codex 페이지에서 확인하실 수 있습니다.

이 액션을 사용하면 단순한 메시지뿐만 아니라 다양한 요소를 표시할 수 있습니다. 하지만 admin_notices 액션을 사용하면 모든 관리자 페이지에 공지가 표시되게 됩니다.

특정 페이지(가령: "새 글 쓰기" 페이지)에만 메시지를 출력하고 싶은 경우가 있을 수 있습니다. 이러한 경우에는 $pagenow라는 글로벌 변수를 사용할 수 있습니다.

예제:

// 새 글 쓰기 페이지에만 공지 띄우기
global $pagenow;
if ( $pagenow == 'post-new.php' ) :

function custom_admin_notice() {
?>
<div class="postnewnotice"><p>글을 게시하기 전에 철자 체크를 꼭 해 주세요.</p></div>
<?php
}
add_action( 'admin_notices', 'custom_admin_notice' );

endif;

위와 같은 코드를 추가하고 워드프레스 대시보드(관리자 페이지)에 CSS 스타일 적용하기에 설명된 방법에 따라 CSS 스타일을 적용해주면 다음과 같이 "새 글 쓰기" 페이지에만 공지가 표시되게 됩니다.

워드프레스 관리자 영역의 특정 페이지에 메시지 표시하기

이 방법이 어떤 면에서 wp add dashboard 위젯을 통해 대시보드(알림판)에 위젯을 표시하는 것보다 더 효과적일 것 같습니다.


5 개 댓글

Leave a Comment

    • 안녕하세요?

      블로그를 방문해주셔서 감사합니다.

      우선 관리자 툴바를 일반 사용자에게 표시되지 않도록 하려면 https://www.thewordcracker.com/basic/how-to-hide-dashboard-from-non-admin-users-in-wordpress/ 글에서 소개하는 플러그인을 사용해보시기 바랍니다.

      만약 테마 옵션만 제거하려면 Adminimize라는 플러그인을 사용하면 될 것 같습니다.
      https://wordpress.org/plugins/adminimize/

      사용해보지는 않았지만 원하는 내용의 기능을 하는 것 같습니다.

      참고로 가장 좋은 방법은, 유료 테마를 사용하는 경우, 테마 판매자에게 문의하는 것입니다.
      예를 들어, 인기 워드프레스 테마 중 하나인 Enfold (https://www.thewordcracker.com/go/enfold ) 테마의 경우 차일드 테마를 만들고 다음 코드를 차일드 테마 함수 파일에 추가하면 테마 옵션이 제거된다고 합니다.

      function remove_my_nodes( $wp_admin_bar ) {
      $wp_admin_bar->remove_node( 'avia' );
      }</code

      응답
      • 네 답변감사합니다ㅠㅠ 하지만 제가 원하는 기능은 전체삭제가아닌
        상단바에서 THEMA OPTION 이부분만 삭제하길원합니다.
        CSS를 만져도 전체가 삭제되지 우너하는것만 삭제되진 않더라구요

        저도 더 연구해보고 말씀해주신것도 참고해보겠습니다 감사합니다!

      • 네, 위에서 언급한 Adminimize라는 플러그인이 원하는 기능을 제공하는 것 같습니다.

        참고로 관리자 페이지의 CSS는 조금 특이한 방식으로 넣어야 합니다. 그 방법을 이 블로그 어디에선가 설명하고 있는데, 해당 글을 찾게 되면 알려드리겠습니다.

        즐거운 주말과 휴일 되시기 바랍니다^^