2017-05-30 6 views
0

と呼ば取得されていない私のコードです:Woocommerceコールバック関数は、ここで

add_action('plugins_loaded', 'mojo_abc_init', 0); 
function mojo_abc_init() { 
... 

include_once('woocommerce-abc.php'); 

... 
add_filter('woocommerce_payment_gateways', 'mojo_add_abc_gateway'); 
function mojo_add_abc_gateway($methods) { 
    $methods[] = 'MOJO_ABC'; 
    return $methods; 
} 
... 
} 

マイwoocommerce-abc.phpファイル:

class MOJO_ABC extends WC_Payment_Gateway{ 
    function __construct() { 

     ... 

     add_action('woocommerce_api_mojo_abc', array($this, 'check_abc_response')); 

     ... 
    } 

    /* callback function */ 
    function check_abc_response(){ 

    /* code */ 
    wp_die(); 
    } 

} 

今私の問題は私のコールバック関数が呼び出さ取得されていないです。 URLはhttp://site_url/wc-api/MOJO_ABCです。

代わりに画面が1だけ表示され、デバッグログには何も表示されず、コードに問題があることが示されます。

ご協力いただければ幸いです。 ありがとう

+0

プラグインを 'woocommerce_loaded'フックで初期化しようとします。しかし、 'woocommerce_available_payment_gateways'フィルタでゲートウェイを追加していますか?あなたはコードのその部分を表示していません。 – helgatheviking

+0

@helgatheviking私は 'woocomerce_available_payment_gateways'フィルタでゲートウェイを追加しています。私はコードを編集しました。とにかく私はこの問題を解決することができました。 –

+0

解決策を回答として投稿できますか? – helgatheviking

答えて

0

すべてのプラグインを無効にし、プラグインを1つずつ追加して、woocommerceのデバッグログを確認することで、この問題を解決できました。

もう1つのプラグインにバグがあり、正しく登録されて呼び出されないためにフックに干渉していることがわかりました。私はそのプラグインだけを無効にし、それは魅力のように働き始めた。私は問題のプラグインの開発者に今のところ通知しました。 「(
`

定義:

  1. はWP-config.phpファイル内のワードプレスのデバッグモードを有効にする:

    デバッグのために、あなたは私が問題を見つける助けたいくつかのことを行う必要がありますWP_DEBUG '、true); define( 'WP_DEBUG_LOG'、true); //エラーと警告の表示を無効にする define( 'WP_DEBUG_DISPLAY'、false);@ini_set( 'display_errors'、0);あなたのコードや他のものの流れを確認するために、デバッグファイルにログを書き込むためのプラグインで

`

2.Addログ機能: は、開始時に、あなたのコンストラクタで、このコードを追加します - `

if (!function_exists('write_log')) { 
     function write_log ($log) { 
      if (true === WP_DEBUG) { 
      if (is_array($log) || is_object($log)) { 
       error_log(print_r($log, true)); 
      } else { 
       error_log($log); 
      } 
      } 
     } 
     } 

<br> And write logs by write.log( "ABC")or write.log($のVAR) `。

このようにして、ワークフローのエラーの可能性を排除し、問題の原因となった可能性のあるものに焦点を当てることができます。

関連する問題