WordPress 플러그인을 처음 사용했습니다. woocommerce 플러그인이 단일 제품 페이지에 이미지를 표시하는 방법을 수정하는 약간의 플러그인을 작성하려고합니다. 특히, 제품 이미지가 없으면 여기에 자리 표시 자 이미지를 표시하는 대신 이미지를 보유하는 div를 "display : none"으로 지정하십시오. 내가 사용하고있는 전략은 add_action을 사용하여 내 자신의 버전의 woocommerce의 product_image.php 템플릿을 렌더링 한 다음 remove_action을 사용하여 원본 product_image.php 파일이 렌더링되지 않도록하는 것입니다. add_action은 Firebug에서 "display : none"div를 볼 수 있으므로 분명히 작동합니다. 그러나 remove_action은 성공하지 못합니다. 여기 WordPress 플러그인에서 remove_action()이 작동하지 않습니다.
내 코드입니다 :$add_result = add_action('woocommerce_before_single_product_summary', 'eba_wc_show_product_images', 10);
function eba_wc_show_product_images() {
include('eba_product-image.php');
}
$remove_result = remove_action('woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 30);
echo "<hr/>result of add_result = " . $add_result . "<hr/>";
echo "<hr/>result of remove_result = " . $remove_result . "<hr/>";
woocommerce_before_single_product_summary 후크의 원래 ADD_ACTION의 우선 순위는 20, 그래서 나는 30
두 디버깅 문 끝에 remove_action에 우선 순위를했다 add_action이 "1"을 리턴하고 remove_action의 결과가 비어 있음을 보여줍니다. 어떤 도움이라도 대단히 감사하겠습니다.
아무런 차이가없는 것 같습니다. 다른 아이디어? –
우선 순위는 처음에 작업을 등록 할 때 사용 된 것과 일치해야합니다 (즉, woocommerce-hooks.php의 23 번째 줄). 이제는 위의 대답을 수정하십시오. –
정말 고마워요! –