워드 프레스 에서 함수 갈고리 훅 의 역할 및 기본 용법 분석

WordPress 의 플러그 인 체 제 는 실제 적 으로 이 Hook 만 있 습 니 다.중국 어 는 갈고리 로 번역 되 었 습 니 다.WordPress 의 핵심 운행 에 참여 할 수 있 도록 해 주 는 아주 좋 은 것 입 니 다.다음은 우리 가 그것 을 자세히 알 아 보 겠 습 니 다.
갈고리 분류
갈 고 리 는 두 가지 로 나 뉘 는데 하 나 는 동작(action)이 고 다른 하 나 는 필터(filter)라 고 한다.이 두 가지 갈고리 의 실현 원 리 는 기본적으로 같다.뒤에서 말 할 수 있 듯 이 사용 상의 차 이 는 필터 가 되 돌아 오 는 값 이 있 지만 동작 이 없다 는 것 이다.
동작의 이념 은 상황 이나 특별한 위치 에서 함 수 를 실행 하 게 하 는 것 이다.예 를 들 어 메 일 을 보 내 는 등 이다.필 터 는 WordPress 핵심 에 필요 한 값 을 수정 한 다음 에 WordPress 는 이 값 으로 함수 의 반환 값 등 일 을 합 니 다.
동작 갈고리
wp_head 는 자주 사용 하 는 동작 갈고리 로 테 마 를 개발 하 는 과정 에서 개발 자 들 은 head 태그 에 wp 를 추가 합 니 다.head()함수,사실은 이 함수 가 wp 를 호출 했 습 니 다.머리 갈고리.
플러그 인 개발 자가 헤드 탭 에 한 마디 를 추가 하려 면 wp 를 사용 할 수 있 습 니 다.헤드 갈고리,다음은 간단 한 예 입 니 다.

//  head         
function Bing_add_head_tag(){
  echo '    ';
}
add_action( 'wp_head', 'Bing_add_head_tag' );
코드 를 추가 한 후 프론트 데스크 톱 의 웹 소스 코드 를 보면 헤드 탭 에서 우리 가 추가 한 내용 을 볼 수 있 습 니 다.
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 필터.
주다 thecontent 갈고리 에 함 수 를 추가 합 니 다.이 함 수 는 매개 변 수 를 받 아야 합 니 다.이 매개 변 수 는 현재 값 입 니 다.

//             
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()과 addfilter()는$wpfilter 전역 변 수 는 배열 요 소 를 추 가 했 습 니 다.또한 동작 과 필 터 는 공용 전역 변수 입 니 다.즉,필터 와 동작 은 이름 을 바 꿀 수 없습니다.
호출 할 때 doaction()을 찾 을 때$wpfilter 전역 변수 에 이 동작 을 추가 하 는 함수 가 있 습 니 다.순환 실행 하면 됩 니 다.
apply_filters()비 doaction()은 한 걸음 더 연주 합 니 다.함 수 를 호출 할 때마다 이 함수 의 반환 값 을 받 아야 합 니 다.마지막 으로 여러 번 걸 러 낸 값 을 되 돌려 서 사용 할 수 있 습 니 다.
현재 갈고리 목록 가 져 오기
WordPress 의 동작 과 필 터 는 플러그 인 메커니즘 의 핵심 부분 으로 특정한 곳 에서 자신 이 실행 해 야 할 동작 을 주동 적 으로 추가 할 수 있 습 니 다.일반적으로 add 를 사용 합 니 다.action()과 addfilter()함수 마 운 트 함수.
이 갈고리 들 은$wp 에 저장 되 어 있다.filter 전역 변수 에서 갈고리 목록 을 가 져 오 려 면$wp 를 직접 가 져 올 수 있 습 니 다.filter 전역 변수.

<pre><?php var_dump( $GLOBALS['wp_filter'] ); ?></pre>
위의 코드 는 갈고리 목록 을 출력 합 니 다.
20151222154645343.png (388×432)

좋은 웹페이지 즐겨찾기