2016-06-28 28 views
1

Hia的,如何從自定義服務訪問WordPress「系統」中的全局​​變量?

很新的WordPress的 - 很抱歉,如果它沒有多大意義:-)

更具體地說,本是關於WooCommerce插件。

對於我所涉及的所有文件 - 我正在幫助朋友順便說一句 - 爲他創建一些漂亮的簡碼,我已經能夠訪問全球$ woocommerce。

這個全局變量有一些整潔的方法,我能夠找到它的API - 所以一切都很好。

因爲各種原因,現在我需要創建一個小的自定義服務,只改變客戶的運輸國家。

這我以前能夠通過只是在做這樣的事情 - 如果我想快速硬將其設置爲孟加拉國(我認爲是)

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

現在當然,在我的設置以客戶country.php服務文件我不能只是華爾茲和利用這個類與所有購物車內容全球化等。

所以 - 我的問題是,我如何獲得這個,我能夠發送一些會話ID,我可以請求系統請給我一些東西,如果我正確地詢問正確的功能並提供一個有效的會話ID,我會得到一些回報。

謝謝你在前進,至少知道我會幫助:-)得到一些嘗試

+1

全局'$ woocommerce'已被棄用d贊成函數'WC()',它返回'WooCommerce'類的單個實例。 – helgatheviking

+0

謝謝helgatheviking,很高興知道:-) – Splynx

回答

1

似乎WordPress的已經有一套很好的AJAX鉤系統。

所以我要創造我的功能,用該系統進行註冊,並在我的JavaScript我可以訪問的URL,通過URL此調用「/wp-admin/admin-ajax.php」

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'); 

,使AJAX調用,只記得與參數動作調用=「foo_func」(或擴展對象或任何或你怎麼做)

所以,現在我可以寫服務,而我在同一個地方寫短代碼,我的問題就解決了:-)

+1

是的,在代碼中也是這樣做的 - 在發佈修復時發生錯誤。 謝謝你指出,將編輯 – Splynx