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
'programing' 카테고리의 다른 글
React.js - 재렌더 시 입력이 초점을 잃음 (0) | 2023.03.18 |
---|---|
ORA-38104: ON 절에서 참조되는 열은 업데이트할 수 없습니다. (0) | 2023.03.18 |
단일 스프링 부트 테스트 속성 재정의 (0) | 2023.03.18 |
$exists가 $cond 내에 있는 조건부 그룹화 (0) | 2023.03.18 |
Javascript 객체 푸시() 함수 (0) | 2023.03.18 |