WordPress 후크에 대해 알아야 할 모든 것
게시 됨: 2015-07-11WordPress 후크에 푹 빠졌습니까?
WordPress가 웹 사이트에 필요한 구성 요소를 렌더링하기 위해 작동함에 따라 내부에서 많은 일이 진행되고 있습니다. 각 페이지는 꽤 많은 기능과 데이터베이스 쿼리로 구성됩니다. WordPress 코어와 테마는 함께 작동하여 텍스트, 이미지, 스타일시트 및 기타 파일을 출력합니다. 브라우저의 도움으로 이러한 모든 부분이 해석되어 하나의 웹 페이지로 통합됩니다. 후크는 WordPress를 사용자 정의, 확장 및 향상시키는 기능을 제공합니다.
후크 이름은 문자 그대로 WordPress에 "연결"하여 데이터를 검색, 삽입 또는 수정하거나 배후에서 다른 작업을 수행할 수 있기 때문에 적절합니다. 어떤 의미에서 우리는 이러한 후크에 사용자 정의 코드를 "매달"합니다. 아시다시피 WordPress 코어를 수정하는 것은 좋은 생각이 아닙니다. 이 때문에 WordPress의 작업 후크 및 필터 후크는 기존 기능을 변경하거나 새로운 기능을 생성하는 가장 좋은 방법입니다.
후크의 종류
후크는 사용자 정의를 할 때 필요한 부분입니다. 후크에는 액션 후크와 필터 후크의 두 가지 기본 유형이 있습니다. 각각은 다른 것을 제공하므로 언제 어느 것을 사용해야 하는지 이해하는 것이 중요합니다.
후크는 아무데나 던질 수 없습니다. "연결"할 무언가가 필요합니다. 해당 후크에 대한 실행 지점이 필요합니다. 좋은 소식은 WordPress 코어 전체에 참조할 수 있는 내장 후크가 있다는 것입니다.

후크를 사용하는 이유
많은 WordPress의 핵심 기능이 작업과 필터를 사용하기 때문에 후크로 많은 것을 변경할 수 있습니다. 후크를 이해하는 것은 WordPress로 개발하는 모든 사람과 WordPress 또는 테마의 동작을 수정하려는 디자이너에게 절대적으로 필요합니다.
액션 훅
액션 후크는 이벤트 자체와 혼동하지 않도록 무언가가 발생했음을 나타냅니다. 작업은 WordPress에서 발생하는 특정 이벤트에 의해 트리거됩니다. 이벤트의 예로는 게시물 게시, 테마 변경, 플러그인 활성화 등이 있습니다. 작업을 사용하면 페이지 처리의 특정 지점에서 추가 기능을 추가할 수 있습니다. 작업 후크는 다음과 같은 작업을 수행할 수 있습니다.
- WordPress 데이터베이스의 데이터 수정
- 브라우저에 표시되는 내용 수정
- 이벤트가 발생했을 때 이메일 보내기
- 페이지에 위젯, 메뉴 또는 사용자 정의 메시지 추가

액션 훅 예시
add_action( $hook, $function_to_add, $priority, $accepted_args );
add_action 함수의 필수 매개변수는 추가할 후크와 함수입니다. 우선 순위를 포함하는 것은 선택 사항입니다. 1에서 999 사이의 범위를 기반으로 하는 정수 값을 사용하여 이 숫자는 해당 특정 후크에 대한 함수의 우선 순위를 결정합니다. 필요하지 않을 수도 있지만 마지막 매개변수는 여러 인수를 전달하거나 수락해야 할 때 사용됩니다.
기본 액션 후크를 살펴보겠습니다.
// This is the function, name it accordingly
function custom_welcome_text() { ?>
<div class="optional-custom-class">Hello WordPress!</div>
<?php }
// Action function that outputs the function above into the theme hook
add_action( 'welcome_hook', 'custom_welcome_text', 5 );
이 기본 후크는 페이지 상단에 "Hello WordPress"를 추가합니다. 우선 순위는 5입니다. 숫자가 낮을수록 이전 실행에 해당합니다. 기본적으로 10으로 설정되어 있으므로 이 예제는 기본값보다 먼저 실행됩니다.

필터 후크
일반적인 시나리오와 필터 후크가 작동하는 방식을 살펴보겠습니다. 사용자가 사이트를 방문하고 읽을 수 있도록 게시물이 로드되는 모든 시간을 생각해 보십시오. WordPress 페이지 수명 주기의 일부로 WordPress는 해당 게시물에 대해 데이터베이스를 쿼리한 다음 사용자가 읽을 수 있도록 준비된 브라우저로 반환됩니다. 모든 것이 간단해 보이지만 콘텐츠가 제공되기 전에 WordPress는 설정된 필터를 통해 데이터를 실행합니다. 이러한 필터 후크는 필요할 때 쉽게 만들 수 있습니다.
다음과 같이 생각하십시오. 작업은 특정 이벤트에 의해 트리거되지만 필터를 사용하면 처리되는 데이터를 가로채고 수정할 수 있습니다. 필터 후크는 브라우저에 데이터를 렌더링하거나 브라우저에서 데이터베이스로 데이터를 저장하기 전에 데이터를 가로채거나, 관리하거나, 반환해야 할 때 사용됩니다. 예를 들어 WordPress HTML 요소에 다른 CSS 클래스를 삽입하거나 추가 메타 필드 유형을 등록할 수 있습니다. 둘 다 필터 후크로 실행할 수 있습니다.

필터는 WordPress가 페이지를 생성할 때 데이터베이스와 브라우저 사이에 위치합니다. 또한 WordPress가 데이터베이스에 새 게시물과 댓글을 추가할 때 브라우저와 데이터베이스 사이에 위치합니다. 이 때문에 필터 후크는 다음과 같은 유용한 작업을 수행할 수 있습니다.
- 데이터베이스에 데이터를 추가하거나 브라우저 화면으로 보내기
- 브라우저로 들어가기 전에 데이터베이스에서 나오는 데이터를 조작하거나 데이터베이스로 들어가기 전에 브라우저에서 오는 데이터를 조작하십시오.
필터 후크 예
아래 예에서 필터 후크가 콘텐츠에서 어떻게 작동하는지 살펴보겠습니다. 이 후크는 콘텐츠가 사용되거나 데이터베이스에 저장되거나 화면에서 보기 위해 WordPress에 의해 렌더링되기 직전에 시작됩니다. 이렇게 하면 필터 후크가 실행될 때 데이터가 변경됩니다.
add_filter 함수는 필터에 연결하는 데 필요한 것입니다. 인수는 익숙하게 보일 수 있습니다. add_filter 는 add_action 의 인수와 동일합니다. 이제 게시물 콘텐츠가 표시되기 전에 호출되는 WordPress 필터_content에 연결해 보겠습니다. 이 간단한 예에서 필터를 사용하면 모든 게시물에 저작권 정보를 추가할 수 있습니다. 이 시점에서 필터는 전달되는 데이터에 대해 조치를 취합니다.
add_filter( 'the_content', 'add_copyright_notice' );
function add_copyright_notice( $content )
{
return $content . " <br>This content is copyrighted.";
}
필터를 사용할 때는 항상 물건을 반환해야 하며 그렇지 않으면 물건이 파손될 수 있습니다.
테마에 후크 추가
테마에 후크 및 필터를 추가할 때 하위 테마에서 작업 중인지 확인하십시오. 주된 이유는 상위 테마에서 작업하는 경우 테마 파일에 대한 업데이트가 있는 경우 이러한 수정 사항을 덮어쓸 수 있기 때문입니다.
후크, 할 수 있는 일, 도움이 되는 방법에 대해 더 잘 이해하시기 바랍니다. 후크는 매우 단순하거나 매우 복잡하거나 그 중간에 있을 수 있습니다. 기본 개념을 익히고 나면 금세 빠져들 것입니다.
