2014-01-09 1 views
3

우리는 woocommerce_thankyou를 사용하여 계산시 작업을 실행하고 있습니다. 그러나 간단한 테스트에서 동작을 설정하고 "echo 'Test';" 그것은 4 번 발생합니다. 이것은 코드입니다woocommerce_thankyou get 4 번 호출

class OrderController 
{ 
    public function __construct() 
    { 
     add_action('woocommerce_thankyou', array($this, 'orderSubmit')); 
    } 

    function orderSubmit() 
    { 
     global $woocommerce; 
     echo "test"; // happens 4 times 
    } 
} 
+0

나는 이것이 끔찍하다는 것을 알고 있습니다. 그러나 이것에 대한 대답은 마술처럼 스스로를 해결했다는 것입니다. 내가 그것에 대한 해답을 줄 수 있기를 바란다. 그러나 나는 우리 AutoLoader와 관련이 있을지도 모른다라고 생각한다. 나는 확실하지 않다. –

답변

2

오늘 이전에 같은 문제가 발생했습니다.

나는 서버 파일 뷰어 (또는 로컬 호스트)에 가서 WP - 콘텐츠를/플러그인/woocommerce/템플릿/체크 아웃

을 thankyou.php라는 PHP 파일이 체크 아웃 폴더 안에 갔다.

<?php do_action('woocommerce_thankyou' . $order->payment_method, $order->id); ?> 

또는 무언가를 말한다 라인 (65)의 주위에

정도가있을 것입니다 코드는 비슷한

내에서 문제는 이러한 액션 사형 집행이 있었다이다.

하나만 제외하고 모두 제거하면 문제가 해결됩니다.

나중에 실수로 삭제하지 않도록 woocommerce를 테스트하십시오.

+1

많은 도움이되었습니다. 정말 고마워 ! 이것은 내 목숨을 구할 수있다! 이제 woocommerce_thanky가 _ID를 포함해야하므로 어떤 플러그인에서 결제 옵션이 왔는지 확인할 수 있습니다. –