2014-11-26 6 views
0

저는 (아이 테마를 통해) 수정해야 할 몇 가지 기능을 가진 Wordpress 테마가 있습니다. 미래에 업데이트 될 경우에 대비하여 함수를 완전히 대체하지는 않겠습니다. 함수에 코드를 추가 할 수 있습니까?자식 테마의 WP 함수에 추가할까요?

감사합니다.

답변

0

아니요, 기능에 코드를 추가 할 수 없습니다.

무엇보다도 Child themes 설명서를 살펴 보는 것이 좋습니다.

하위 테마의 동작은 기능을 편집하는 위치에 따라 크게 달라질 수 있습니다.

가있는 style.css는 달리, 자식 테마의 functions.php이 부모로부터 의 대응을 무시하지 않습니다 당신이 functions.php를 사용하는 경우, Wordpres는 것을 말한다. 대신 부모의 functions.php 인 에로드됩니다. (특히, 전에 바로 부모의 파일을로드됩니다.)

그래서 당신이 할 수있는 부모 함수를 재정의하는 것입니다, here을 언급처럼 :

  1. 복사 (전액) 기능을 부모 테마에서 재정의하려고합니다.

  2. 자녀 테마 폴더의 루트에있는 functions.php에 붙여 넣습니다. functions.php가 존재하지 않으면 생성하십시오.

  3. function의 이름을 parent_theme_function에서 child_theme_function으로 바꿉니다.

  4. 상위 기능을 비활성화하십시오.

  5. 하위 기능을 활성화하십시오.

    이 예에서
    // Removes thematic_blogtitle from the thematic_header phase 
    function remove_thematic_actions() { 
        remove_action('thematic_header','thematic_blogtitle',3); 
    } 
    // Call 'remove_thematic_actions' during WP initialization 
    add_action('init','remove_thematic_actions'); 
    
    // Add our custom function to the 'thematic_header' phase 
    add_action('thematic_header','fancy_theme_blogtitle', 3); 
    

    , 기능 thematic_blogtitle 함수에서 제거 fancy_theme_blogtitle에 의해 대체되고있다 :

코드를 다음과 같이 보일 것이다.

+0

기능이 아직 작업에 할당되지 않은 경우 어떻게 비활성화합니까? 부모 함수를 자식 함수로 가리키는 방법이 있습니까? – Caleb

+0

위의 스 니펫 코드로 기능을 비활성화 할 수 있습니다. 이 코드는 문제를 해결하고 시도해보고 알려주는 모든 것을해야합니다. – nunorbatista

관련 문제