2016-06-28 12 views
1

のHia、ワードプレスに非常に新しいWordPressの "システム"内のグローバル変数にカスタムサービスからアクセスする方法は?

- とても残念それはあまり意味がない場合は:-)

は、具体的には、これはWooCommerceプラグインについてです。

私が手伝ってくれたすべてのファイルについて、私は友人BTWを助けています。彼のためにいくつか気の利いたショートコードを作成するには、グローバルな$ woocommerceにアクセスできました。

このグローバル変数は、いくつかのきちんとしたメソッドを持っていて、APIを見つけることができました。すべてうまくいきました。

私は様々な理由から、顧客の出荷国を変更する小さなカスタムサービスを作成する必要があります。

この私が以前ちょうどこのようにすることによって行うことができるだろう - 私はすぐにハード私のセットcustomer-で、自然に今

<?php 
    global $woocommerce; 
    $woocommerce->customer->set_shipping_country("BD"); 
?> 

(私はそれだと思う)バングラデシュに設定したい場合country.php service file私はちょうどワルツに入ることができず、すべてのカートのコンテンツなどでこのクラスをグローバルに活用することはできません。

これは私の質問です。何らかの種類のセッションIDを送信して、適切なセッションIDを提供して適切に尋ねれば、何かを返すようにシステムに頼むことができますか?

は、少なくとも私は:-)

+1

グローバルな '$ woocommerce'は非難されています'WooCommerce'クラスの単一のインスタンスを返す' WC() '関数を利用しています。 – helgatheviking

+0

helgathevikingありがとう、よく知っておいてください:-) – Splynx

答えて

1

を助けにいくつかの試みを取得します知っている、事前にありがとうワードプレスの場所に素敵なAJAXフックシステムを持っているようです。

は、だから私は、私の関数を作成したシステムに登録する必要があり、私のjavascriptに私は

function cool_foo_func() { 

     $response = array(
      "foo" => "func" 
     ); 

     wp_send_json($response); 
    } 
    add_action('wp_ajax_foo_func', 'cool_foo_func'); 
    add_action('wp_ajax_nopriv_foo_func', 'cool_foo_func'); 
「/wp-admin/admin-ajax.php」URLを介して、このコールのURLにアクセスすることができます

とAJAX呼び出しを行うと、ちょうどパラメータアクション=「foo_func」と呼んで(またはオブジェクトまたはあなたがそれを行う方法何かを延長)することを忘れないでください

だから今、私はサービスに私は同じ場所を書くことができますショートコードを書くと、私の問題は解決されます:-)

+1

はい、これもコードで行いました - 修正を投稿する際にエラーが発生しました。 これを指摘していただきありがとうございます – Splynx

関連する問題