2017-01-24 46 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