add_action(액션훅)과 add_filter(필터훅)의 차이점은 "실행 시점"과 "용도"에 있다.


add_action 은 워드프레스 내부의 이벤트가 발생할때 실행

ex) 글을 등록하거나 댓긍르 달때 이를 후킹하여 임의의 함수를 호출할 수 있다.


add_filter 은 DB에 저장하거나 화면에 출력하기 전에 콘텐츠 내용을 변경할 때 사용

ex) 포스트나 페이지 내용을 가져와서 화면 출력 전에 콘텐츠를 변경할 수 있다,


=====================================================


add_action : 워드프레스 이벤트 발생 시


[액션훅(add_action) 예제]


1
2
3
4
5
6
<?php
function new_email_comment() {
    wp_mail('test@naver.com''test''<p>TEST massage </p>');
}
add_action('comment_post','new_email_comment');
?>


댓글이 달리면 new_email_comment() 함수를 호출하여 메일을 발송한다.

자주 사용하는 액션훅은 다음과 같다.


* publish_post : 새로운 포스트가 발행될 때

* create_category : 새로운 카테고리가 생성될 때

* switch_theme : 테마를 변경할 때


====================================================


add_filter : 매체에 저장하거나 화면 출력하기 전 콘텐츠 변경


[필터훅(add_filter) 예제]


1
2
3
4
5
6
7
8
<?php
function replace_content($content) {
    $content = str_ireplace('ABC''CBA' , $content);
    return $content
}
add_filter('the_content''replace_content');
?>



콘텐츠가 화면에 출력되기 전, 더 정확히 the_post() 함수를 처리하는 중에 호출되어 문자열을 변경한다.

DB는 변경하지 않으며 화면 출력만 바뀐다.


자주 사용되는 필터훅은 다음과 같다


* the_content : 포스트나 페이지의 콘텐츠가 출력될 때

* the_title : 포스트나 페이지의 제목이 출력될 때

* comment_text : 댓글이 출력될 때

* wp_title : 페이지 제목이 출력될 때



더 자세한 정보는 codex 사이트를 참조한다!

+ Recent posts