2013-05-22 23 views
3

美好的一天,WooCommerce查詢

我對WordPress和WooCommerce相當陌生。 但我相當熟悉PHP和MySQL。 所以我的問題是,我如何去做一個具體的查詢WooCommerce,我可以指向特定的元。例如,如果我想查詢WooCommerce> 內的所有不同類別,我通常會這樣稱呼它;

$args = array(
      'number' => 'null', 
      'orderby' => 'name', 
      'order' => 'ASC', 
      'columns' => '4', 
      'hide_empty' => '1', 
      'parent' => '', 
      'ids' => '' 
) 

好吧,這將是我的查詢,現在我正在努力與我是如何處理它呢?因爲那部分是每個人都顯示的內容,沒有人告訴你或者告訴你如何實際使用查詢或從哪裏開始。 我已經使用了基本的WP查詢功能,但是我接收的唯一類別來自WP和WC。 那麼我如何直接將它指向WC?此外,這些鉤子讓我很煩惱。那麼我該如何以正常的方式去做,繞過WC和WP函數並構建我自己的查詢;

$query = "SELECT * FROM wc_categories"; 
$result = mysql_query($query); 
$temp_array = mysqli_fetch_array($result); 

這就是我喜歡做的,因爲沒有人解釋掛鉤,以及如何使用它,或編輯它,每個人都認爲你是親萊特的時候纔來WP運作的家族。

所以,如果任何人都可以指出我正確的方向,我會非常感激。 如果你能向我解釋如何解決我的第二個代碼塊因爲我喜歡的方式,我會很長久地愛你。

親切的問候, DK

回答

3

使用標準WP/WC的功能創建查詢方便。例如,如果您想獲取特定訂單的客戶詳細信息。所需的代碼可能是這樣的(注意全局函數):

global $post, $woocommerce, $the_order; 
if (empty($the_order) || $the_order->id != $post->ID) 
    $the_order = new WC_Order($post->ID); 

$user_info = get_userdata($the_order->user_id); 
$biling_email = $the_order->billing_email; 
$phone_no = $the_order->billing_phone; 

如果你想查詢客戶訂單薈萃現場,您可以使用代碼類似下面。您需要在數據庫知道自定義字段名稱:

$custom_field = get_post_meta($post->ID, 'custom_field', true); 

對於自定義查詢,你需要通過你的查詢之前加入全球WPDB $函數首先初始化WPDB全球功能。即使這隻適用於WP頁面,但它不適用於在WP之外創建的頁面。下面是一個例子:

global $wpdb 

$table = $wpdb->prefix . 'postmeta'; //Good practice 
$orderno = $wpdb->get_results("SELECT * FROM $table");