2017-04-01 7 views
0

WooCommerce 기능을 사용하여 WordPress 웹 사이트에서 작업하고 있습니다. 현재 제품 페이지에 표시되는 소셜 공유 기능을 제거하려고합니다. 나는 functions.php 파일에 다음 코드를 배치하여, 자사의 후크에서 작업의 제거를 통해이를 달성하기 위해 노력하고 있어요 :조치를 해제하려면 어떻게해야합니까? 현재 사용중인 방법이 작동하지 않는 것 같습니다.

<?php 
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50); 
?> 

말했다의 functions.php은 내가 만든 자식 테마 내에 배치된다.

불행히도, 이것은 사회적 공유 기능을 제거하지 않습니다. 아무도 이유를 아나요? 후크에 문제가 있는지 확인하기 위해 동일한 후크에 액션을 추가했습니다.

소셜 공유 기능이 하위 테마의 functions.php 파일보다 우선 적용되거나 우선 순위가 높은 상위 폴더에 배치되었을 수 있습니까? 이 경우 해당 기능을 제거하는 데있어 내 옵션이 무엇입니까? 영향을받는 파일을 하위 테마에 배치 한 다음 관련 코딩을 수동으로 제거하는 방법 만 생각할 수 있습니다. 이것은 부모 파일이

답변

2

woocommerce_template_single_sharing() 사회적 공유를 추가 & 테마를 다른 플러그인에 대한 do_action 호출있다 woocommerce/templates/single-product/share.php에있는 Woocommerce 템플릿을 호출 등이 업데이트 될 때 그것이 나중에 문제가 발생할 수 있으므로 최후의 수단이다. 플러그인을 사용하지 못하도록 플러그인을 차단하려면 테마를 작성하는 경우 기본 제공되는 Woocommerce 템플릿 대체 기능을 사용하고이 do_action이 실행되지 않게하는 것이 가장 좋습니다. Woocommerce가 거대한 구조적 재 작업을하지 않으면 아무런 문제가 발생하지 않습니다. 하지만 그렇지 않으면 Woocommerce 및 기타 플러그인이나 부모 테마를 업데이트해도 자녀 테마에 영향을 미치지 않습니다. 자녀 테마에서

, single-product라는 하위 디렉토리를 추가, woocommerce라는 디렉토리를 만든 다음 테마에 해당 위치에 플러그인에 위의 위치에서 share.php 파일을 복사합니다.

do_action을 주석으로 처리하고 voila! 더 이상 사회적 공유가없고 그 안에 들어있는 내용은 do_action이 실행되지 않습니다. 대안으로

... 당신이 알고있는 경우 정확히 do_action에 접선 무엇을, 당신이 나쁜 소년에 remove_action를 실행하는 것입니다,하지만 당신은 당신의 전화 업데이트 수동으로 시간을이 일을 사냥 할 필요가 플러그인이 플러그인에 연결하려고합니다.

+0

https://codex.wordpress.org/Function_Reference/remove_all_actions이 응답 해 주셔서 감사합니다 사용할 수 있습니다. 나 자신을 놀고 난 후에, 제안은 내가했던 것 거의이었다. :-) – Craig

1

당신은

add_action('plugins_loaded', function(){ 
    remove_all_actions('woocommerce_share_hook'); 
}); 
+0

답변 해 주셔서 감사합니다. 이번에는 내가 선택한 접근 방식이 아니지만 앞으로 유용 할 수 있습니다. :-) – Craig