programing

woocommerce 함수로 작성된 함수를 덮어쓰려고 합니다.php 파일

bestprogram 2023. 3. 18. 09:31

woocommerce 함수로 작성된 함수를 덮어쓰려고 합니다.php 파일

woocommerce 함수로 작성된 함수를 수정/덮어쓰기를 원합니다.php 파일이지만 woocommerce-functions를 수정하고 싶지 않습니다.php 파일.즉, 플러그인이나 테마로 이것을 실현하고 싶다고 생각하고 있습니다.

woocommerce 기능을 덮어쓸 수 있습니다.최근에 이것을 실시해, 테마 기능에 woocommerce 확장 기능을 모두 추가했습니다.php 파일을 사용하면 woocommerce 플러그인 파일은 변경되지 않고 업데이트해도 안전합니다.

이 페이지에는 고객의 액션을 삭제하고 자신의 액션을 대체하는 방법의 예가 나와 있습니다.http://wordpress.org/support/topic/overriding-woocommerce_process_registration-in-child-theme-functionsphp

이 페이지에서는 기능을 제거하지 않고 기능을 확장하는 예와 하위 테마를 사용하는 예를 보여 줍니다. http://uploadwp.com/customizing-the-woocommerce-checkout-page/

이것이 도움이 되기를 바랍니다:)

WooCommerce는 템플릿 시스템을 제공합니다.woocommerce 함수를 덮어쓸 수 있습니다.코어 파일을 수정하지 않고 WooCommerce를 커스터마이즈하는 좋은 방법은 후크를 사용하는 것입니다.

후크를 사용하여 코드를 추가하거나 조작하는 경우 테마 함수에 사용자 지정 코드를 추가할 수 있습니다.php 파일.

  • 액션사용 -

자신의 코드를 실행하려면 액션훅 do_action(action_name')을 사용하여 로그인합니다.

코드를 배치하는 장소에 대해서는, 이하를 참조해 주세요.

add_action('action_name', 'your_function_name');

function your_function_name() 
{
// Your code
}
  • 필터 후크 사용-

필터 후크는 apply_filter('filter_name', $variable)를 사용하는 코드입니다.

전달된 변수를 조작하려면 다음과 같은 작업을 수행합니다.

add_filter('filter_name', 'your_function_name');

function your_function_name( $variable )
 {
// Your code
return $variable;
}

여기서 WooCommerce Action과 Filter Hook을 입수할 수 있습니다.https://docs.woothemes.com/wc-apidocs/hook-docs.html

하위 테마가 있는 경우 테마에 관련 파일을 복사하고 복사본을 다시 작성할 수 있습니다.복사본은 WooCommerce 버전보다 우선하여 사용됩니다.

모바일 장치의 비디오에 "재생" 버튼을 추가해야 했습니다(기본적으로 이 버튼은 데스크톱에만 표시됩니다).

나는 그 기능을 무효로 할 필요가 있었다.wp-content/themes/gon/framework/theme_functions.php:

function ts_template_single_product_video_button(){
    if( wp_is_mobile() ){
        return;
    }
    global $product;
    $video_url = get_post_meta($product->id, 'ts_prod_video_url', true);
    if( !empty($video_url) ){
        $ajax_url = admin_url('admin-ajax.php', is_ssl()?'https':'http').'?ajax=true&action=load_product_video&product_id='.$product->id;
        echo '<a class="ts-product-video-button" href="'.esc_url($ajax_url).'"></a>';
    }
}

나는 이 설명서에서 다음과 같은 내용을 발견했다.If you use a hook to add or manipulate code, you can add your custom code to your theme’s functions.php file.

나는 이미 가지고 있었다.wp-content/themes/gon-child/functions.php(원래의 gon 테마가 gon-child에게 카피되어 있었기 때문에) 저는 다음과 같이 했습니다.

// Enable tour video on mobile devices
remove_action('ts_before_product_image', 'ts_template_single_product_video_button', 1);
add_action('ts_before_product_image', 'ts_template_single_product_video_button_w_mobile', 1);
function ts_template_single_product_video_button_w_mobile(){
    global $product;
    $video_url = get_post_meta($product->id, 'ts_prod_video_url', true);
    if( !empty($video_url) ){
        $ajax_url = admin_url('admin-ajax.php', is_ssl()?'https':'http').'?ajax=true&action=load_product_video&product_id='.$product->id;
        echo '<a class="ts-product-video-button" href="'.esc_url($ajax_url).'"></a>';
    }
}

?>

언급URL : https://stackoverflow.com/questions/21397325/want-to-overwrite-functions-written-in-woocommerce-functions-php-file