2014-01-13 54 views
0

我用我的WordPress網站下面的代碼來獲得Woocommerce產品數據:獲取的WordPress張貼數據

$args = array('post_type' => 'product', 'posts_per_page' => 100, 'product_cat' => 'Tools'); 
$loop = new WP_Query($args); 
echo $loop->get_posts(); 
wp_reset_query(); 

此只拿到了數據發佈。我如何獲得其他產品數據,如價格。我通常會使用get_post_meta()。 如何在不使用循環的情況下獲得後期元數據?還是有一種方法可以通過一種功能或方法獲取所有數據?

回答

0

您可以使用自定義查詢來獲取沒有循環的元數據。

global $wpdb; 
$query = "SELECT * FROM wp_posts as p, wp_postmeta as m WHERE p.post_type = 'product' 
AND p.post_status = 'publish' AND p.ID = m.post_id AND product_cat = 'Tools'"; 
$result = $wpdb->get_results($query); 

希望這會有所幫助。

+0

這將返回空白。我認爲這需要我先設置db連接,即使該頁面位於wordpress網站 – Tester

+0

$ wpdb中自動調用連接。嘗試刪除product_cat並檢查。 – Pranita

+0

好吧,當我刪除product_cat時,它工作,但是,我需要它按類別排序。我該怎麼做呢?有沒有辦法? – Tester

0
<?php 
$args = array(
    'tax_query' => array(
       array(
       'taxonomy' => 'project_category', // your category taxonomy 
       'field' => 'id', 
       'terms' => '17', 
       ) 
     ), 
    'post_type' => 'project', // your custom post name 
    'orderby' => 'menu_order', 
    'post_status' => 'publish', 
    'order' => 'ASC', 
    'posts_per_page' => -1 
); 
    query_posts($args); 
    while (have_posts()) : the_post(); 

      //your code here 

    endwhile; 

    wp_reset_query(); 
?> 
+0

這不起作用。另外,我想獲取循環外的數據,因爲我將它轉換爲json。如果它在循環中,它會產生無效的json。 – Tester