>  기사  >  백엔드 개발  >  빠른 팁: 현재 화면에 대한 후크 기능 가져오기

빠른 팁: 현재 화면에 대한 후크 기능 가져오기

WBOY
WBOY원래의
2023-09-02 22:41:091115검색

가능할 때마다 더 일반적인 initadmin_initadmin_footer 후크보다는 화면별 후크를 사용하는 것이 더 좋습니다. (콜백이 모든 화면에서 실행되도록 특별히 원하지 않는 한) 이 간단한 팁에서는 특정 페이지에 대한 스크린 후크를 쉽게 얻는 방법을 알아봅니다.


페이지별 후크

페이지별 후크는 필요한 화면에 대해서만 콜백을 생성하는 가장 효율적이고 깔끔한 방법을 제공합니다. 여기에는 다음이 포함됩니다:

  • load-{page-hook} – 화면이 로드되기 전에 호출됩니다(이 로직은 여기에서 찾을 수 있습니다)
  • admin_print_styles-{page-hook} – 在管理页面的
  • 의 인쇄 스타일 운영
  • admin_print_scripts-{page-hook} – 在管理页面的 인쇄 스크립트 작업
  • admin_head-{page-hook} – 在管理页面的
  • 내에서 실행되는 작업
  • admin_footer-{page-hook} – 在管理页面上的 종료 마커 위에서 실행되는 작업

하지만 {page-hook} 对于任何特定页面的价值是多少?特别查看 load-* 钩子,您会发现在确定 {page-hook}에 관해서는 꽤 복잡한 논리가 있습니다. 특히 사용자 정의 플러그인 페이지는 "핵심" 페이지(예: 게시물 유형 및 카테고리 페이지)와 다르게 처리되며 이전 버전과의 호환성을 위해 게시물, 페이지 또는 카테고리를 편집할 때 동일한 화면에서 여러 후크를 사용합니다.

가치를 취하는 일반적인 규칙은 다음과 같이 요약할 수 있습니다. {page-hook}

  • )add_menu_page()(及相关函数)添加的自定义管理页面,它是屏幕 IDadd_menu_page()을 통해 반환된 값의 경우
  • 모든 게시물 유형의 게시물을 나열하는 관리 페이지의 경우
  • edit.php
  • 모든 게시물 유형의 "새 항목 추가" 페이지에는
  • post-new.php
  • 모든 게시물 유형의 편집 페이지는
  • post.php
  • 카테고리 페이지의 경우
  • edit-tags.php
페이지 후크가 어떻게 생성되든 결국 전역

에 저장됩니다. $hook_suffix


쉽게 화면에 대한 후크를 얻으세요

일반적으로 이 규칙은 페이지별 후크를 결정하는 데 충분합니다. 하지만 그들과 함께 작업할 때 간단한 참고 자료를 갖는 것이 도움이 되는 경우가 많습니다. 이 간단한 참조를 만들기 위해 각 화면의 오른쪽 상단에 있는 도움말 탭에 패널을 추가합니다. 이 패널에는 화면 세부 정보(화면 ID, 화면 기반 및 가장 유용한 화면에 대한

hook 접미사 )가 나열됩니다. ). 또한 화면별 후크도 나열되어 있습니다. em>

도움말 탭의 패널은 3.3에서 도입되었으므로 WordPress 버전 3.3 이상에서만 작동합니다. 패널을 추가하려면

메소드를 사용합니다. contextual_help 过滤器。这是一个用于向后兼容目的的过滤器,因此我们实际上不过滤任何内容。相反,我们使用 WP_Screen::add_help_tab 으아아아

도움말 콘텐츠를 생성하려면 전역

을 가져와 위에서 언급한 후크 스템에 추가합니다. 또한 WP_Screen 개체의 속성으로 저장되는 화면 세부정보 목록도 가져옵니다. $hook_suffix 并将其附加到上面提到的钩子干中。我们还获得了屏幕详细信息的列表,这些详细信息存储为 WP_Screen 으아아아

이 결과는 다음과 같습니다:

빠른 팁: 현재 화면에 대한 후크 기능 가져오기


전체 코드

다음을 사이트의 유틸리티 플러그인이나 (필요한 경우) 테마의

functions.php에 넣을 수 있습니다. 의 이름을 자신만의 고유한 이름으로 바꾸세요. wptuts_screen_help 으아아아

위 내용은 빠른 팁: 현재 화면에 대한 후크 기능 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.