홈페이지 » WordPress » 테마 사용자 정의에서 WordPress Action Hooks를 사용하는 방법

    테마 사용자 정의에서 WordPress Action Hooks를 사용하는 방법

    WordPress 자식 테마는 테마의 모양과 느낌을 비교적 쉽게 사용자 정의 할 수있는 방법을 제공합니다. 테마 옵션이 적절한 디자인 선택을 제공하지 않으면 style.css라는 하위 테마의 기본 스타일 시트 파일에 새 규칙을 추가하기 만하면됩니다. 그러나 당신이 또한 원할 때 어떤 일이 일어나는가? 테마의 기능을 수정하십시오.? WordPress 작업이 도움이되는 경우 중 하나입니다..

    WordPress는 높은 커스터마이즈 성 때문에 부분적으로 인기가 있습니다. WordPress Core에는 개발자가 기본 기능을 수정하거나 향상시킬 수있는 다양한 후크가로드됩니다. 또한, 우리는 맞춤 후크 우리 테마와 플러그인에서 다른 개발자가 필요에 따라 코드를 쉽게 조정할 수 있도록 지원.

    WordPress Hooks 정보

    WordPress 후크는 실제 후크와 다소 비슷하게 작동합니다. 제대로 사용하면 올바른 위치에서 원하는 물고기를 잡을 수 있습니다..

    너는 할 수있다. 붙잡은 기능을 제거하십시오 (예 : 저급 사용자를위한 WordPress 관리 표시 줄을 제거 할 수 있음). 그대로 두라.그것을 강화하다 나만의 기능 (예 : 테마에 더 많은 메뉴 또는 위젯 영역을 추가 할 수 있음)을 사용하거나 그것을 무시하다 (예 : 핵심 기능의 동작을 수정할 수 있음).

    WordPress에는 두 가지 종류의 후크가 있습니다. 행위필터. 이 게시물에서 우리는 우리가 어떻게 할 수 있는지 살펴볼 것입니다. 테마 사용자 정의에서 액션 후크 사용.

    어떻게 WordPress가 작동하는지 후크

    매우 간단한 언어를 사용하려면, 행위 그 표시 WordPress 페이지 수명주기 동안 무언가가 발생했습니다.: 사이트의 특정 부분이로드되고 특정 옵션이나 설정이 설정되고 플러그인이나 위젯이 초기화되는 식으로 진행됩니다..

    필터 ~와 다르다. 행위 그들의 성격에서. 그들은 데이터를 통과시킨다., 과 수정, 관리하다 또는 요격하다 화면에 표시하거나 사용자 데이터를 데이터베이스에 저장하기 전에.

    WordPress 페이지 라이프 사이클의 모든 중요한 랜드 마크에는 동작 또는 필터 우리가 할 수있는 고리 사용자 정의 코드를 추가하여 기본 비헤이비어 수정 우리의 필요에.

    요청 중에 실행되는 특정 작업 및 필터는 사용자 에이전트에서 요청한 페이지에 따라 다릅니다. 예를 들어 단일 게시물 요청에서 단일 게시물과 관련된 후크를 사용할 수 있지만 사이트의 다른 부분 (예 : 관리 영역) 있지 않다..

    액션 후크 찾기

    WordPress Codex의 Action Reference에는 다양한 요청을 통해 실행되는 작업에 대한 자세한 개요가 나와 있습니다. 중요한 것은 우리가해야 할 일을 성취하고자한다면 올바른 장소에 연결하십시오., 그 전이나 후에, 그렇지 않으면 행동이 완료되지 않을 것이다..

    예를 들어, 우리가 원하는 경우 Google Analytics 코드를 사이트에 추가하십시오. 우리는 바닥 글이로드되기 전에 우리의 행동을 바로 잡아라..

    테마 사용자 정의에 대해 말하면 액션 후크는 두 개의 다른 장소에서 올 수 있습니다. WordPress Core주제 자체. 후크가 전혀없는 테마가 있지만 개발자가 일부 또는 많은 개발자에게 제공하는 테마가 있습니다. 테마 작성자가 항상 선택합니다. 기본 20 개의 15 개의 테마에는 'twentyfifteen_credits'라는 이름으로 바닥 글 사용자 정의를위한 하나의 동작 고리 만 있습니다..

    소스 코드를 찾아보고 싶으면 쉽게 액션 후크를 찾을 수 있습니다. 액션 후크가 do_action () WordPress 함수를 사용하여 코드에 추가됩니다..

    보다 고급 코드 편집기에서 표현식 'do_action'에 대한 빠른 검색을 실행하면 (예 : 내가 이클립스에서했던 것처럼) 사용자 정의 기능을 코어에 연결할 수있는 지점에 대한 목록을 볼 수 있습니다. 나는 / wp-includes / 폴더에 대한 검색을 실행할 수도 있습니다. / wp-admin / WordPress 대시 보드 (관리 영역)와 관련된 동작 후크가있는 폴더.

    좋은 점은 일반적으로 액션 후크의 이름은 꽤 자명하지만 사실입니다. 보통 코드 안에 좋은 주석이있다. 주어진 동작 후크가 당신이 그것을 사용하기를 원하는 이유로 좋을 지에 대한 더 많은 지식을 줄 수 있습니다..

    예를 들어, 'widgets_init'액션 훅이 나오기 전에 코드 주석이 “모든 기본 WordPress 위젯이 등록 된 후에 발생합니다.”. 이 액션 훅을하기 전에 코드를 들여다 보면 그 전에 모든 기본 WP 위젯의 초기화를 찾을 수 있습니다. 따라서 댓글이 거짓말이 아닌지 확신 할 수 있고 자신 만의 맞춤 위젯을 등록하려면, 이것이 올바른 자리가 될거야..

    대부분의 경우 소스 코드는 Codex보다 훨씬 많은 정보를 제공하므로 신속하게 탐색하는 방법을 배우는 것이 좋습니다..

    나만의 행동을 추가하십시오

    자신 만의 액션을 추가하려면 사용자 정의 함수 만들기이 함수를 특정 액션 훅에 묶는다. add_action () WordPress 함수를 사용하여. add_action () 함수로 추가 된 사용자 정의 액션은 일반적으로 그 자리에서 방아쇠를 당긴 코어가 적절한 do_action () 함수를 호출 할 때.

    간단한 예제를 보자..

    필요한 후크를 찾는 방법

    사이트에 맞춤 favicon을 추가하려고한다고 가정 해 보겠습니다. 먼저 자신의 기능을 바인딩 할 수있는 올바른 액션 후크를 찾아야합니다..

    생각 해봐. 평범한 HTML 페이지에 favicon을 추가하고 싶다면 어디에 놓을까요? 물론, 당신은 그것을 내부에 배치해야합니다. HTML 파일의 섹션에 다음 태그를 추가하십시오.

      

    필요한 액션 후크가 있어야합니다. 선적과 관련된 섹션.

    (1) Action Reference를 열고 제공되는 것을 확인하십시오. 우리는 행동을 탐색하는 것처럼 운이 좋다. wp_head를 찾을 수있다. 이름에 기반 해 그 이름을 기반으로하는 것이 그 행동의로드와 관련 될 가능성이있다. 섹션.

    (2) 확실하게하자. WordPress Codex에서 설명서를 확인하십시오.. Codex는 “당신은이 기능을 사용하여이 훅을 사용한다.”, 그래서 지금 그것은 우리에게 완벽하게 보인다. 하지만 소스 코드에서 확인해 봅시다..

    (삼) 이 후크는 관리 영역과 관련이 없기 때문에 검색 영역을 / wp-includes / 폴더. 우리가 'wp-head'라는 단어를 검색하면이 특정 활동이 WP Core에서 여러 번 사용되므로 많은 결과를 얻을 수 있습니다.

    우리는 그것이 정의 된 곳을 찾을 필요가 있습니다. 그래서 표현식을 찾으십시오. do_action ( 'wp_head'. 이 작업에 매개 변수가 있는지 여부를 아직 확신 할 수 없으므로 괄호를 완성하지 않았습니다..

    Eclipse는 내부에서 찾을 수있는 결과 하나만 반환합니다. /wp-includes/general-template.php 파일. 액션 후크 정의 이전의 주석은 “프론트 엔드의 헤드 태그에 스크립트 또는 데이터를 인쇄합니다.”, 이제 우리는 죽을 수 있습니다. wp_head 우리가 필요로하는 행동 훅이야..

    매개 변수 확인

    자신 만의 액션을 추가 할 때는 사용하려는 후크가 매개 변수를 사용하는지 여부를 확인해야합니다. do_action () 함수를 보면 쉽게 알 수 있습니다..

    do_action () 함수의 구문은 다음과 같습니다.

     do_action ( 'name_of_action'[, $ parameter1, $ parameter2, ...]) 

    작업의 이름 만 필요하며 매개 변수는 선택 사항입니다. Do_action () 함수의 관련 호출에서 인수를 발견하면 작성한 사용자 정의 함수의 선언에이를 포함 시키십시오..

    아무 것도 찾지 못하면 사용자 정의 함수가 인수없이 작동해야합니다. wp_head 액션 훅의 do_action () 정의에는 매개 변수가 없습니다..

    매개 변수를 취하는 액션 훅과 비교해 보겠습니다. 'wp_register_sidebar_widget'이라는 액션 훅은 사용자가 훅에 바인딩 한 사용자 정의 함수에 항상 전달해야하는 하나의 매개 변수를 사용합니다.

    두 경우의 do_action () 구문의 차이점을 살펴 보겠습니다.

     do_action ( 'wp_head'); do_action ( 'wp_register_sidebar_widget', $ widget);

    첫 번째 경우에는 매개 변수가 없으므로 사용자 지정 함수는 다음 구문을 사용합니다.

     function my_function_without_parameters () ... 

    두 번째 경우에는 사용자 정의 함수의 선언에 항상 인수로 전달해야하는 하나의 매개 변수가 있습니다.

     function my_function_with_parameters ($ widget) ... 

    사용자 정의 함수를 후크하는 방법

    이제 우리는 필요한 모든 것을 알고 있습니다. 우리 사이트에 favicon을 표시 할 사용자 정의 함수를 만들어 보겠습니다..

    먼저, 인수없이 새로운 함수를 생성 한 다음 add_action () WordPress 함수의 도움으로 wp_head 액션 훅에 바인드합니다..

     function custom_add_favicon () echo '';  add_action ( 'wp_head', 'custom_add_favicon');

    너는 ~해야 해. 이름을 전달하다 후크의 add_action () 함수에 인수로서 먼저, 그럼 너는 ~해야한다. 사용자 정의 함수의 이름을 추가하십시오..

    add_action ()의 두 가지 필수 매개 변수입니다. 두 개의 선택적 매개 변수도 있습니다., 우선 순위수용된 주장. 이것들을 어떻게 사용하는지 보자..

    우선 순위 정의

    많은 경우에 동일한 훅에 바인드 된 하나 이상의 동작이 발생합니다. 그래서 어느 것이 먼저 처형 될 것인가?? 이것은 우리가 사용할 수있는 곳입니다. $ priority 선택적 매개 변수 add_action () 함수.

    우선 순위를 양의 정수로 추가합니다., 기본값은 10이다.. 행동을 조기에 실행하기를 원한다면 더 낮은 가치를 부여하고 나중에 실행하기를 원한다면 더 높은 가치를 부여합니다.

    그래서 우리가 favicon이 일찍 거기에 있어야한다고 생각한다면, 우리는 다음과 같은 방법으로 이전 add_action () 호출을 향상시킬 수 있습니다 :

     add_action ( 'wp_head', 'custom_add_favicon', 5); 

    우선 순위는 항상 있어야합니다. 다른 사용자 정의 함수에 상대적으로 설정 같은 액션 후크를 사용하는.

    허용 된 인수 수 추가

    매개 변수를 취하는 조치 훅을 사용할 경우를 대비하여 허용되는 인수의 수를 추가해야합니다. 이전에 사용한 예를 살펴 보겠습니다..

    액션 훅 'wp_register_sidebar_widget'은 하나의 매개 변수를 취하기 때문에, 사용자 정의 함수를이 훅에 바인딩 할 때 add_action () 함수를 호출 할 때 이것을 인수로 포함시켜야합니다.

    이 경우 코드는 다음과 같습니다.

     function my_sidebar_widget_function ($ widget) // 사용자 코드 add_action ( 'wp_register_sidebar_widget', 'my_sidebar_widget_function', 10, 1); 

    우리는 또한 우선 순위 추가 (우리는 기본값 10을 선택했습니다) WordPress가 각 매개 변수의 의미를 알고 있는지 확인하십시오. 우선 순위를 생략하면 WordPress에서 1이 우선 순위라고 가정 할 수 있습니다. 이는 받아 들인 인수의 수를 나타 내기 때문에 사실이 아니다..

    결론

    테마 사용자 정의에서 액션 후크로 많은 실험을 할 수 있습니다. 예를 들어 wp_enqueue_scripts 액션 후크를 사용하여 사용자 정의 스크립트 (JS) 및 스타일 (CSS)을 추가하거나 wp_footer 액션 후크로 Google 애널리틱스 코드를 추가 할 수 있습니다.

    너는 나만의 행동을 추가하십시오., 하지만 당신은 또한 완전한 기능성 제거 add_action ()과 같은 논리를 사용하는 remove_action () 함수를 사용하여 WordPress 코어에서.

    테마 작성자 인 경우 확장 가능한 테마를 만들고 싶다면 좋은 아이디어가 될 수 있습니다. 적절한 템플릿 파일에 사용자 지정 액션 후크 추가 do_action () 함수 사용.

    그렇게하고 싶다면, 다른 개발자가 사용하는 매개 변수에 대해 신중히 생각하십시오. 누가 당신의 테마를 사용할 것인가? 인수로 전달해야한다. 사용자 정의 기능을 연결하고자 할 때.

    테마의 사용자 지정 작업 후크의 위치를 ​​디자인하는 동안 WordPress Core 자체에 자체 후크가있는 동일한 장소에 사용자 정의 테마 후크를 포함하는 것은별로 의미가 없습니다.