Wordpress의 두가지 Hook, Action 과 Filter 에 대하여... 개발 이것저것

근래 워드프레스와 우커머스 관련된 개발을 하게 되면서 조금씩 워드프레스 개발의 세계에 발을 들이고 있다.
그 첫번째 단계로 가장 관심이 갔던 것이!!

1. 워드프레스를 어떻게 하면 튜닝할수있을까? 
2. 워드프레스의 특정 동작에 내가 원하는 동작을 추가할수 있을까?

이었다. 그리고!!! 그것을 해줄 수 있는 것을 찾았다!!
바로 Wordpress 의 두가지 HookAction과 Filter 이다 !!!

그럼 일단 워드프레스가 말하는 Hook이 무엇이고,
그 Hook의 두가지 종류인 Action과 Filter가 무엇인지 간략히 설명하도록 하겠다.
그 설명이란것은 뭐니뭐니 해도 원본을 참조하여 !!! ㅋㅋㅋ

원문을 보고싶다면 여기를 클릭 하세요~

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

Hook 은 당신의 플러그인이 워드프레스 동작의 순간순간에 'hook into'(끼어들어올) 수 있도록 워드프레스가 제공하는 Plug-in API 입니다. 즉, 당신 플러그인의 함수를 특정한 시점에 실행시켜 줌으로써, 당신의 플러그인이 동작할 수 있도록 해줍니다.

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

Action 은 워드프레스에서 발생하는 특정 이벤트에 의해 실행(trigger)됩니다. 
예를들어, 포스트를 발행하거나, 테마를 바꾸거나, 관리자 화면을 띄우거나 등의 이벤트를 들수 있겠네요. Action 이라는 것은  당신의 테마나 플러그인에 임의로 PHP 함수를 정의한 뒤 이것에 Hook을 걸어놓으면 완성됩니다.

Action은 주로 아래의 동작들 중 한가지 이상을 수행합니다.

- DB 데이터 변경
- Email 메세지 송신
- 관리자 화면이나 사용자 브라우저에 뿌려지는 Front-end 페이지에 변화를 줌.

그리고 이것을 만드는 기본 과정은 아래와 같습니다.

1. 당신의 플러그인 파일에 워드프레스 동작 중 특정 시점에 실행되어야 하는 PHP 함수를 정의합니다.
2. add_action() 함수를 사용해 이 함수를 특정 이벤트에 Hook 합니다.
3. 당신의 PHP 함수가 담긴 플러그인을 워드프레스에서 활성화 시킵니다.

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

Filter 는 워드프레스의 데이터가 동작중의 특정 시점에 통과해야하는 함수들 입니다.

그러니까 데이터로 무슨액션을 취하기 직전 등에 말이죠. (예를들면 필터를 DB에 붙일수도 있고, browser screen 쪽으로 붙일 수도 있습니다.).
Filter 는 워드프레스가 페이지에 뿌릴 데이터를 하나하나를 만들어내는동안 DB와 브라우저 사이 어디선가에 (내가 원하는 시점이겟죠?ㅋ) 똭 버티고 있습니다. 대부분의 워드프레스에서 이루어지는 Input / Output 이 적어도 하나 이상의 Filter를 거칩니다.
워드프레스가 자체적으로 기본적용하는 필터도 있고, 당신의 플러그인이 당신이 원하는 필터링을 적용시킬수도 있습니다.

자, 그럼 당신만의 WordPress Filter를 만드는 기본 과정을 한번 봅시다.

1. data를 필터링 하는 PHP 함수(=필터)를 만드세요
2. 이 필터(=함수)를 add_filter() 함수를 사용하여 워드프레스에 Hook 하세요.
3. 이 PHP 함수를 당신의 플러그인 파일에 집어넣고, 워드프레스에서 해당 플러그인을 활성화 시키세요

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

자, 잘 읽어 보았는가?ㅋ
뭐.. 매뉴얼을 해석한것인데, 해석이 매끄럽게 잘 되었나 모르겟다.
사실 나도 이렇게 해석하는게 아니면 보통 필요한 내용만 듬성듬성 보지 뭐,, 제대로 읽지를 않아서 ㅋㅋㅋㅋ

나도 Action을 사용하여 간단한 플러그인을 만들어보긴 하였으나,
사실 말이 쉽지 워드프레스가 동작하는 중 그 원하는 순간이라는것을 


1. 열심히 뒤져가지고 찾은뒤,
2. 거기에 걸맞는 함수를 잘~ 만들어가지고
3. add_action()add_filter() 함수를 이용하여 잘~ 낑겨 넣어야(Hooking) 된다.


뭐 플러그인 같은것은 그런데 이미 예제소스가 워낙에 많아서.. ㅋㅋ
심플한 동작을 수행하는 light plug-in 부터 소스 분석을 시작하여 점점 heavy한 플러그인까지 볼수 있게 된다면
아마 정말 자신이 원하는 플러그인 정도는 뚝딱뚝딱 개발할 수 있지 않을까 싶다. ㅋㅋ

그럼 오늘 포스팅은 끝 !
올해도 거의 다 끝나간다 ㅋ 한해 마무리 잘 하시길 ... !!!



통계 위젯 (블랙)

519
465
166296

GoogleAdsenseResponsive

Cluster map