我正在一個小的WordPress的愛好項目,我遇到了一點障礙。我已經實現了WooCommerce,併爲我的數據使用了類別和標籤。WordPress的標籤和類別的過濾器產品
我有一些條目我知道涉及這樣一個實例中,數據將建模如下:
汽車#1: 類別=>轎車 標籤=>沃爾沃
汽車#2: 類別=>轎車 標籤=>沃爾沃
車#3: 類別=>轎車 標籤=>寶馬
我試圖過濾這些WooCommerce產品,以確保這兩個標籤和類別匹配,所以在這種情況下,車#1與車#2和車#3是一個孤兒有關。
獲得相關產品時所產生的電流的查詢如下:
SELECT * FROM wp_posts p
INNER JOIN wp_postmeta pm ON (pm.post_id = p.ID AND pm.meta_key='_visibility')
INNER JOIN wp_term_relationships tr ON (p.ID = tr.object_id)
INNER JOIN wp_term_taxonomy tt ON(tr.term_taxonomy_id = tt.term_taxonomy_id)
INNER JOIN wp_terms t ON (t.term_id = tt.term_id)
WHERE ((tt.taxonomy = 'product_cat' AND t.term_id IN (14)))
OR ((tt.taxonomy = 'product_tag' AND t.term_id IN (44)));
查詢給了我正確的結果,當我使用OR然而,隨着更多的數據,然後我得到的結果只滿足一個條件這不太合適。我認爲問題在於它只爲每個帖子提取一個分類行,所以當我在上面的查詢中使用AND(在where條件中)而不是OR時,它不起作用。
有沒有人知道這個解決方案或遇到類似的問題?或者,我有更好的方法來構建產品嗎?
謝謝!