2017-01-24 85 views
2

我在我的Wordpress網站上使用WooCommerce作爲目錄(即,禁用了購物車),並且我想根據產品是否已添加小工具是否有某個標籤。我嘗試過使用「Widget Logic」插件和條件標籤,但即使我禁用了所有其他插件,我也無法在網站上的任何位置使用此工具(即包含帶標籤的帖子和主側欄 - 因此不僅帶有標籤產品在WooCommerce中)。使用產品標籤條件向WooCommerce側欄添加小部件

我加入了「PHP代碼的Widget」,並在其中添加下面的代碼:

<?php 
if (is_product_tag('adexample1')) { 
echo "test1"; 
} elseif (is_product_tag('adexample2')){ 
echo "test2";  
} elseif (is_product_tag('adexample3')){ 
echo "test3"; 
} elseif (is_product_tag('adexample4')){ 
echo "test4"; 
} elseif (is_product_tag('adexample5')){ 
echo "test5"; 
} else { 
echo "<p>test6</p>"; 
} 
?> 

我已經與標記的產品和其他產品的測試,但他們都返回「TEST6」在小部件。

任何人都可以看到我做錯了什麼或有可能產品標籤不能正常工作/由於某種原因被識別(權限也許?)。這個問題在默認的2017和基本的WooCommerce主題中被複制,所以它似乎不是一個主題問題?

另一種實現此方法的建議也值得讚賞嗎?

感謝

回答

1

有條件is_product_tag()將無法​​正常工作得到具有產品標籤的產品,因爲它是用來查看產品標籤存檔頁面時返回true。

做的達到你想要做的,你需要使用WordPress has_term()條件函數定義$分類參數'product_tag'什麼,是這樣的:

// Define BELOW your product tag ID, slug or name (or an array of values) 
$term = 'adexample1'; 
$term2 = 'adexample2'; // ... 

// HERE are your conditions with your code 
if(has_term($term, 'product_tag')){ 
    echo "test1"; 
} elseif(has_term($term2, 'product_tag')){ 
    echo "test1"; 
} else { 
    echo "<p>test6</p>"; 
} 

這應該工作,因爲它適用於產品類別與定義$ taxonomy的參數'product_cat' ...

+0

這工作完美,你的意見是非常有益的,謝謝! – Riverbum75

+0

@ Riverbum75歡迎您......這是我第一次使用WooCommerce產品標籤的'has_term()'函數......但合乎邏輯的是,如果它與產品分類標準一起工作,它也將與產品標籤分類標準一起工作...... – LoicTheAztec