백엔드 개발 PHP 튜토리얼 WordPress_php 스킬에서 함수 후크의 역할과 기본 사용법을 분석합니다.

WordPress_php 스킬에서 함수 후크의 역할과 기본 사용법을 분석합니다.

May 16, 2016 pm 08:02 PM
hook wordpress 기능

워드프레스의 플러그인 메커니즘은 실제로 이 후크입니다. 중국어로 후크로 번역되어 워드프레스 코어 실행에 참여할 수 있게 해줍니다. 아래에서 자세히 알아보세요.
훅 분류

Hook는 두 가지 유형으로 나뉘는데 하나는 Action이고 다른 하나는 Filter입니다. 이 두 후크의 구현 원리는 기본적으로 동일합니다. 나중에 언급하겠지만 사용법의 차이점은 필터에는 반환 값이 있지만 작업에는 없다는 점입니다.

액션의 아이디어는 이메일 보내기 등과 같은 상황이나 특별한 위치에서 일부 기능을 수행할 수 있도록 하는 것입니다. 필터를 사용하면 WordPress 코어가 사용해야 하는 값을 수정할 수 있습니다. WordPress는 이러한 값을 사용하여 함수의 반환 값 등과 같은 작업을 수행합니다.

액션훅

wp_head는 매우 일반적으로 사용되는 액션 후크입니다. 개발자는 wp_head() 함수를 head 태그에 추가합니다. 실제로 wp_head 후크를 호출하는 함수입니다.

플러그인 개발자가 head 태그에 문장을 추가하려는 경우 wp_head 후크를 사용할 수 있습니다. 다음은 간단한 예입니다.

//在 head 标签添加一些内容
function Bing_add_head_tag(){
  echo '添加内容';
}
add_action( 'wp_head', 'Bing_add_head_tag' );
로그인 후 복사

코드 추가 후 프론트엔드 웹페이지의 소스코드를 보면 head 태그에 우리가 추가한 내용을 확인할 수 있습니다.

20151222154540066.png (437×83)

위는 문장을 출력하는 간단한 예시입니다. 이 후크를 사용하면 404 페이지가 나타날 때 관리자에게 이메일을 보내는 플러그인을 만들 수도 있습니다. 아래에 간단하게 작성했습니다.

//遇到 404 页面给管理员发送邮件
function Bing_404_page_mail(){
  if( !is_404() ) return;//如果不是 404 页面就退出函数
  $to = get_option( 'admin_email' );//获取管理员地址
  $subject = '遇到 404 页面啦!';//邮件标题
  $message = '404 页面的地址:http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];//邮件内容
  wp_mail( $to, $subject, $message );//发送邮件
}
add_action( 'wp_head', 'Bing_404_page_mail' );
로그인 후 복사

필터 후크

제 개인적인 경험에 따르면 필터 후크는 특히 PHP에 익숙하지 않은 사람들에게는 이해하기 어려울 수 있습니다.

필터 후크를 사용하면 항목의 값을 변경할 수 있습니다. 필터 콜백 함수는 현재 값인 매개변수를 허용합니다. 기사 콘텐츠를 호출하는 데 사용되는 the_content() 함수를 기억하세요. 이 함수는 the_content 필터를 제공합니다.

the_content 후크에 함수를 추가합니다. 이 함수는 현재 값인 매개변수를 받아야 합니다.

//文章内容全部链接新窗口打开
function Bing_autoblank( $content ){//$content 变量就是文章内容,因为其它过滤器也要过滤,所以这个内容可能是经过其它函数过滤的
  $content = str_replace( '<a', '<a target="_blank"', $content );//添加 target="_blank"
  return $content;//必须要把过滤后的内容返回回去,否则值就丢了
}
add_filter( 'the_content', 'Bing_autoblank' );

로그인 후 복사

후크 원리

실제로 add_action() 및 add_filter()를 호출하면 $wp_filter 전역 변수에 배열 요소만 추가됩니다. 게다가 액션과 필터는 공통 전역 변수입니다. 같은 이름을 가지고 있습니다.

do_action()이 호출되면 $wp_filter 전역 변수에서 이 액션에 추가된 함수를 검색하여 루프에서 실행합니다.

apply_filters()는 do_action()보다 한 단계 더 있는데, 호출될 때마다 이 함수의 반환 값을 받고, 최종적으로 여러 번 필터링한 값을 반환하여 사용하는 것입니다.

현재 후크 목록 가져오기
WordPress 작업 및 필터는 플러그인 메커니즘의 핵심 부분으로, 특정 위치에서 수행해야 하는 작업을 적극적으로 추가할 수 있도록 해줍니다. 일반적으로 함수를 마운트하려면 add_action() 및 add_filter() 함수를 사용합니다.

이러한 후크는 $wp_filter 전역 변수에 저장되므로 후크 목록을 얻으려면 $wp_filter 전역 변수를 직접 가져올 수 있습니다.

<pre class="brush:php;toolbar:false"><&#63;php var_dump( $GLOBALS['wp_filter'] ); &#63;>
로그인 후 복사

위 코드는 후크 목록을 출력합니다.

20151222154645343.png (388×432)

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

WordPress 기사 목록을 조정하는 방법 WordPress 기사 목록을 조정하는 방법 Apr 20, 2025 am 10:48 AM

WordPress 기사 목록을 조정하는 4 가지 방법이 있습니다. 테마 옵션 사용, 플러그인 사용 (예 : Post Type Order, WP Post List, Boxy Sitture), 코드 사용 (Functions.php 파일의 설정 추가) 또는 WordPress 데이터베이스를 직접 수정하십시오.

WordPress 차단 IP 용 플러그인은 무엇입니까? WordPress 차단 IP 용 플러그인은 무엇입니까? Apr 20, 2025 am 08:27 AM

WordPress IP 차단 플러그인 선택이 중요합니다. 다음 유형을 고려할 수 있습니다. .htaccess : 효율적이지만 복잡한 작동; 데이터베이스 작동 : 유연하지만 효율성이 낮습니다. 방화벽 : 높은 보안 성능이지만 복잡한 구성; 자체 작성 : 가장 높은 제어력이 있지만 더 많은 기술적 수준이 필요합니다.

WordPress 웹 사이트 계정 로그인 WordPress 웹 사이트 계정 로그인 Apr 20, 2025 am 09:06 AM

WordPress 웹 사이트 계정에 로그인하려면 : 로그인 페이지를 방문하십시오 : 웹 사이트 URL Plus "/wp-login.php"를 입력하십시오. 사용자 이름과 비밀번호를 입력하십시오. "로그인"을 클릭하십시오. 검증 2 단계 확인 (선택 사항). 성공적으로 로그인하면 웹 사이트 대시 보드가 표시됩니다.

WordPress에 오류가 있으면해야 할 일 WordPress에 오류가 있으면해야 할 일 Apr 20, 2025 am 11:57 AM

WordPress 오류 해상도 안내서 : 500 내부 서버 오류 : 플러그인을 비활성화하거나 서버 오류 로그를 확인하십시오. 404 페이지를 찾을 수 없습니다 : Permalink를 점검하고 페이지 링크가 올바른지 확인하십시오. 흰색 사망 화면 : 서버 PHP 메모리 제한을 늘리십시오. 데이터베이스 연결 오류 : 데이터베이스 서버 상태 및 WordPress 구성을 확인하십시오. 기타 팁 : 디버그 모드 활성화, 오류 로그 검사 및 지원을 찾으십시오. 오류 방지 : 정기적으로 WordPress를 업데이트하고 필요한 플러그인 만 설치하고 웹 사이트를 정기적으로 백업하고 웹 사이트 성능을 최적화하십시오.

WordPress 테마의 헤드 이미지를 변경하는 방법 WordPress 테마의 헤드 이미지를 변경하는 방법 Apr 20, 2025 am 10:00 AM

WordPress의 헤더 이미지를 교체하기위한 단계별 안내서 : WordPress 대시 보드에 로그인하고 모양 & gt; 테마로 이동하십시오. 편집 할 주제를 선택하고 사용자 정의를 클릭하십시오. 테마 옵션 패널을 열고 사이트 헤더 또는 헤더 이미지 옵션을 찾으십시오. 이미지 선택 버튼을 클릭하고 새 헤드 이미지를 업로드하십시오. 이미지를 자르고 저장 및 자르기를 클릭하십시오. 저장 및 게시 버튼을 클릭하여 변경 사항을 업데이트하십시오.

WordPress 의견을 표시하는 방법 WordPress 의견을 표시하는 방법 Apr 20, 2025 pm 12:06 PM

WordPress 웹 사이트에서 댓글 활성화 : 1. 관리자 패널에 로그인하고 "설정" - "토론"으로 이동하여 "주석 허용"을 확인하십시오. 2. 주석을 표시 할 위치를 선택하십시오. 3. 주석을 사용자 정의합니다. 4. 의견을 관리하고 승인, 거부 또는 삭제합니다. 5. 사용 & lt;? php comment_template (); ? & gt; 주석을 표시하는 태그; 6. 중첩 된 주석 활성화; 7. 주석 모양 조정; 8. 스팸 주석을 방지하기 위해 플러그인 및 검증 코드를 사용하십시오. 9. 사용자가 그라바타 아바타를 사용하도록 권장합니다. 10. 참조 할 주석을 만듭니다

WordPress의 헤더를 작성하는 방법 WordPress의 헤더를 작성하는 방법 Apr 20, 2025 pm 12:09 PM

WordPress에서 사용자 정의 헤더를 만드는 단계는 다음과 같습니다. 테마 파일 "header.php"편집. 웹 사이트 이름과 설명을 추가하십시오. 탐색 메뉴를 만듭니다. 검색 표시 줄을 추가하십시오. 변경 사항을 저장하고 사용자 정의 헤더를보십시오.

WordPress의 편집 날짜를 취소하는 방법 WordPress의 편집 날짜를 취소하는 방법 Apr 20, 2025 am 10:54 AM

WordPress 편집 날짜는 세 가지 방법으로 취소 할 수 있습니다. 1. Post Date Disable 플러그인 설치; 2. functions.php 파일에 코드를 추가합니다. 3. WP_Posts 테이블에서 Post_Modified 열을 수동으로 편집합니다.

See all articles