2016-05-19 3 views
0

私は電子商取引のウェブサイトにwoo commerceプラグインを使用しています。私のダッシュボードには何らかの注文が記載されています。オーダーのステータスを処理から完了まで変更すると、ボタンがクリックされます。 admin-ajax.phpファイルであなたの行動を見つける方法は?

if (in_array($the_order->post_status, array('wc-pending', 'wc-on-hold', 'wc-processing'))) 
    $actions['complete'] = array(
     'url' => wp_nonce_url(admin_url('admin-ajax.php?action=upen-mark-order-complete&order_id=' . $the_order->id), 'upen-mark-order-complete'), 
     'name' => __('Dispatched', 'dokan'), 
     'action' => "complete", 
     'icon' => '<i class="fa fa-truck">&nbsp;</i>' 
    ); 
しかし、私は管理者-ajax.phpファイルに探していたときに取得何 order_idはありません。ここで

は、自分の行動が行くです。私は、これらの属性がアクション、order_idなどの注文ステータスを変更するところが混乱しています。

+0

'__( 'Dispatched'、 'dokan')'を見て、私はこれがdokanの実装だと思います(私はdokanを知らない)woocommerceではないと思います。 '$ actions'配列がどこに使われていますか? – Reigel

+0

ステータスを注文するためにボタンをクリックすると、上記のURLのようにadmin-ajax.phpファイルにこれらのパラメータを渡します。しかし、admin-ajax.phpファイルにはこのようなパラメータはありません。 –

+0

はい... ...べきではありません。あなたのテーマファイルやこれを実装するプラグインのどこかで "upen-mark-order-complete"を探すべきです。 .. – Reigel

答えて

0

あなたはwp_ajax_(action)を読んでください。メモ帳で

自分の与えられたコードに基づいて、多分あなたのテーマファイルやプラグインのファイルに...どこかに実装され、このようなものがあるはずです。..さらに

add_action('wp_ajax_upen-mark-order-complete', 'my_action_callback'); 

function my_action_callback() { 

    $order_id = $_GET['order_id']; 

    wp_die(); 
} 


++あなたがそれを検索することができますこのようなファイル..

enter image description here

+0

wp_ajax_upen-mark-order-completeもup-mark-order-completeもすべてのファイルにありません –

+0

すべてのファイルはどこですか? – Reigel

+0

public_htmlディレクトリ –

0

のfunctions.phpあなたのテーマでこれを試してみてください
function mysite_woocommerce_order_status_completed($order_id) { 
echo $order_id; exit; // you will get order ID here , when you are updating order status to completed. 
} 
add_action('woocommerce_order_status_completed','mysite_woocommerce_order_status_completed'); 
関連する問題