Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用产品标签向WooCommerce侧边栏添加小部件_Php_Wordpress_Woocommerce_Tags_Product - Fatal编程技术网

Php 使用产品标签向WooCommerce侧边栏添加小部件

Php 使用产品标签向WooCommerce侧边栏添加小部件,php,wordpress,woocommerce,tags,product,Php,Wordpress,Woocommerce,Tags,Product,我在我的Wordpress网站上使用WooCommerce作为目录(即禁用购物车),我想根据产品是否有特定标签向单个产品页面侧边栏添加小部件。我尝试使用“Widget Logic”插件和条件标签,但即使我禁用了所有其他插件,我也无法在网站上的任何地方使用它(例如,包括带有标签的帖子和主边栏-因此不仅仅是WooCommerce中的标签产品) 然后,我添加了“PHP代码小部件”,并在其中添加了以下代码: <?php if (is_product_tag( 'adexample1' ))

我在我的Wordpress网站上使用WooCommerce作为目录(即禁用购物车),我想根据产品是否有特定标签向单个产品页面侧边栏添加小部件。我尝试使用“Widget Logic”插件和条件标签,但即使我禁用了所有其他插件,我也无法在网站上的任何地方使用它(例如,包括带有标签的帖子和主边栏-因此不仅仅是WooCommerce中的标签产品)

然后,我添加了“PHP代码小部件”,并在其中添加了以下代码:

    <?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主题中复制,因此它似乎不是主题问题

如能为实现这一目标提出其他建议,我们将不胜感激

谢谢

如果要获取具有产品标签的产品,条件将不起作用,因为在查看产品标签存档页面时,条件会返回true

要实现您想要做的事情,您需要使用WordPress条件函数,将定义的$taxonomy参数用于
'product\u 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>";
}
//在产品标签ID、slug或name(或值数组)下面定义
$term='adexample1';
$term2='adexample2';//。。。
//这是您的条件和代码
如果(有_术语($term,'product _tag')){
回声“test1”;
}elseif(具有术语($term2,‘产品标签’)){
回声“test1”;
}否则{
回声“test6

”; }

这应该适用于定义了$taxonomy参数的产品类别,
'product\u cat'
..

,非常有效,您的反馈非常有用,谢谢@Riverbum75不客气……这是我第一次将
has_term()
函数用于WooCommerce产品标签……但如果它用于产品类别分类法,它也将用于产品标签分类法,这是合乎逻辑的…