2013-01-22 50 views
0

我剛開始在Wordpress中開發,特別是WP-eCommerce插件,我遇到了幾個問題。主要問題之一是能夠根據其存在於兩個(或更多)類別中的特定產品進行查詢。在這種情況下,我希望返回的唯一產品是那些存在於兩個類別中的產品,但不只是一種或另一種。WP-eCommerce:基於兩個類別獲取產品(返回僅存在於兩個類別中的產品)

我明白,這可以在我自己的(原始的PHP)或只是wp_query(或類似的東西)完成。但是,我希望儘可能保留在WP-eCommerce框架中,以限制所需的樣式和冗餘代碼的數量。

對於一些澄清,這種情況的一個例子是這樣:

查詢字符串發送到URL - http://example.com/?wpsc_product_category=cat1&wpsc_product_category=cat2

這就被髮送和WP-電子商務處理,但只需要最近wpsc_product_category查詢,並因此僅返回cat2中存在的產品。

所以,在結束我的兩個主要問題是:

  1. 什麼樣的選擇是提供給我的WP-電子商務框架,允許我做一個查詢並返回存在於產品中兩者並不僅僅是其中的一個類別。

    • 如果這是不可能的,什麼樣的WordPress的選項提供給我,創造我自己的功能
    • 什麼?
  2. WP-eCommerce中的查詢過程究竟是什麼。至少,我可以訪問格式化查詢字符串並讓它查詢這兩個類別的文件。

回答

0

這是在我的同事的重要幫助下解決的。

基本上,由於wocomom的結構,它設計WP-Query只能真正管理一個變量進行搜索。爲了克服這一點,你需要重寫$wp_query變量無論是在自己的函數,該文件,你希望有多個查詢等

這是通過利用從WordPress發現代碼中完成CODEX here

摘錄:

$args = array(
'post_type' => 'post', 
'tax_query' => array(
    'relation' => 'AND', 
    array(
     'taxonomy' => 'movie_genre', 
     'field' => 'slug', 
     'terms' => array('action', 'comedy') 
    ), 
    array(
     'taxonomy' => 'actor', 
     'field' => 'id', 
     'terms' => array(103, 115, 206), 
     'operator' => 'NOT IN' 
    ) 
) 
); 
$wp_query = new WP_Query($args); 

通過一些修改,我可以直接訪問不同的分類變量關係並將多個搜索變量串在一起。

1

那麼,如果有人想創建一個基於兩個產品類別的循環,比如說「Soon」和「Skinny」,這應該有效嗎?它給我的第一類的所有結果仍然..我錯過了什麼?

$args = array(
    'post_type' => 'wpsc-product', 
    'tax_query' => array(
    'relation' => 'AND', 
     array(
     'taxonomy' => 'category', 
     'field' => 'slug', 
      'terms' => 'Soon' 
     ), 
     array(
     'taxonomy' => 'category', 
     'field' => 'slug', 
     'terms' => 'Skinny' 
     ) 
    ) 
); 
$wp_query = new WP_Query($args); 
while($my_query->have_posts()) : $my_query->the_post(); 
+0

有幾點建議,雖然我不能完全確定,因爲我沒有看到你如何設置你的wpoommerce。兩種分類法都是分類嗎?是一個變化?如果是這樣,分類法蟎蟲會有所不同(wpsc_product_category和wpsc-variation)?要考慮的另一件事是嘗試輸入條款的ID而不是名稱,看看發生了什麼。在這種情況下,我也喜歡我的領域是基於id的。 – zillaofthegods

相關問題