2014-12-15 4 views
-1

테마의 핵심 파일을 변경하고 싶습니다. 나는 자식 테마를 사용하고 있으며 내 핵심 파일 기능을 내 functions.php에서 변경하고 싶습니다. 난 그냥이 코드에 한 줄을 추가 할 지금테마 코어 파일을 수정하지 않고 기능을 변경하는 방법

// main blog drag and drop options 
function cyberchimps_selected_elements() { 
$options = array(
    'boxes_lite'  => __('Boxes Lite', 'cyberchimps_elements'), 
    "portfolio_lite" => __('Portfolio Lite', 'cyberchimps_elements'), 
    "blog_post_page" => __('Post Page', 'cyberchimps_elements'), 
    "slider_lite" => __('Slider Lite', 'cyberchimps_elements') 
); 

return $options; 
} 

add_filter('cyberchimps_elements_draganddrop_options', 'cyberchimps_selected_elements'); 

:

는 코어 파일 기능입니다

"box_lite" => __('box', 'cyberchimps_elements'), 

그리고이 하나

require_once($directory_path . '/elements/boxes2.php'); 

누구든지 나를 도울 수 있습니까?

+0

당신 cyberchimps_selected_elements()'통화'와 그 라인을 추가 자신의 함수를 만듭니다 ? 덕분에 – AbraCadaver

답변

1

remove_filter()이라는 멋진 WordPress 기능이 있습니다. 위의 함수를 제거하기 위해이 함수를 사용하면 자식 테마의 functions.php에서 수정 된 버전을 다시 추가 할 수 있습니다. 뭔가 같이 : 그것은 확실히 당신이 옵션의 변경된 배열을 검색하여 원하는 목적지은 "매개 변수 값을 전달해야합니다 있는지 확인해야합니다 그냥 작동합니다 아래 코드에 따라

remove_filter('cyberchimps_elements_draganddrop_options', 'cyberchimps_selected_elements'); 
add_filter('cyberchimps_elements_draganddrop_options', 'cyberchimps_selected_elements_child'); 

// main blog drag and drop options 
function cyberchimps_selected_elements_child() { 
    $options = array(
     "box_lite" => __('box', 'cyberchimps_elements'), 
     "portfolio_lite" => __('Portfolio Lite', 'cyberchimps_elements'), 
     "blog_post_page" => __('Post Page', 'cyberchimps_elements'), 
     "slider_lite" => __('Slider Lite', 'cyberchimps_elements') 
    ); 

    return $options; 
} 
+0

. 나는 'add_action'의 비슷한 조건을 'remove_action'으로해야합니까? – fzishk

0

하나 개의 매개 변수를 적용 할 수 있습니다 그릇된". 이 함수 호출은 그와 함께 .. 코드 아래에 행운을 기록 ...

// main blog drag and drop options 
function cyberchimps_selected_elements($default=true) { 
    if($default){ 
    $options = array(
     "boxes_lite"  => __('Boxes Lite', 'cyberchimps_elements'), 
     "portfolio_lite" => __('Portfolio Lite', 'cyberchimps_elements'), 
     "blog_post_page" => __('Post Page', 'cyberchimps_elements'), 
     "slider_lite" => __('Slider Lite', 'cyberchimps_elements') 
    ); 
    } else { 
    $options = array(
     "boxes_lite"  => __('Boxes Lite', 'cyberchimps_elements'), 
     "portfolio_lite" => __('Portfolio Lite', 'cyberchimps_elements'), 
     "blog_post_page" => __('Post Page', 'cyberchimps_elements'), 
     "slider_lite" => __('Slider Lite', 'cyberchimps_elements'), 
     "box_lite"  => __('box', 'cyberchimps_elements') 
    ); 
    } 
return $options; 
} 

함수 호출 예제 :

//function call 
cyberchimps_selected_elements(false); 
관련 문제