[WordPress] add_filter 기본 사용 방법

워드프레스는 기본 내장 데이터에 특정 필터를 걸어 데이터를 추가, 제거, 변형 할 수 있도록 add_filter 함수를 제공하고 있습니다. 아래는 워드프레스 내장 함수인 add_filter 함수의 기본 사용 방법입니다.

add_filter 기본 사용법

add_filter( '(필터 대상 함수)', '(콜백 함수)' );

add_filter 의 기본 사용 방법은 필터 대상이 되는 함수에 특정 콜백 함수를 매칭시켜 필터 대상 함수의 인수에 특정 작업을 추가해주는 것입니다. 이게 뭔소린가 싶은데 아래와 같은 상황을 가정해 봅시다.

add_filter 실전 예제

sum 이라는 함수 가 있는데, $a$b 를 파라미터로 받아 둘의 합을 계산해주는 함수가 있다고 가정해봅시다.

function sum($a, $b) {
    return $a + $b;
}

그런데 이 sum 함수에 필터를 걸어 사용자가 입력한 $a 에 항상 +3을 하여 $a+3$b 를 더해 반환 하도록 만들고 싶을때 add_filter 를 아래와 같이 사용할 수 있습니다.

  1. sum 함수가 호출됨
  2. 콜백 함수에서 sum 함수의 $a 파라미터 수신
  3. 콜백 함수에서 수신된 $a 에 3을 더한후 반환
  4. sum 함수에서 새로운 $a 와 기존의 $b 를 더해 결과 값 반환

이를 코드상에서 표현하면 아래와 같습니다.

function sum($a, $b) {
    $final = $a + $b;
    return $final;
}

function sum_callback( $a ) {
    $a = $a + 3;
    return $a;
}

add_filter( 'sum', 'sum_callback' );

워드프레스에서 이런 함수를 쓸 일은 만무하지만, 이해를 돕기 위해 위와 같은 상황을 가정해보았습니다.

add_filter 의 다양한 활용

위 상황은 아주 간단한 상황에다가 sum 함수를 직접 만들어 사용하니 사실 저렇게 하지 않아도 됩니다. 하지만 워드프레스 내장 함수에 콜백 함수를 걸고 싶다면 이야기는 달라지겠죠.

결론적으로 위와 같은 방법으로 add_filter 를 사용하면, 포스트 본문의 말미에 항상 특정 내용을 추가한다든지, 포스트 제목의 첫부분에 항상 블로그의 제목을 추가해준다든지의 작업이 가능해지는 것입니다.

끝.