不能获得基本的“如果有标签”声明即可工作-Wordpress

时间:2019-02-06 23:44:56

标签: wordpress if-statement tags

我只是将一小段代码放在我的Wordpress网站的woocommerce产品页面上,以显示图像“ IF”,表明该产品具有特定的TAG。

代码本身似乎很简单,并且我用谷歌搜索了一下,并尝试了许多变体,但其中的任何一个都没有运气。

<?php if( has_tag( 'tagnamehere') ) : ?> <div>my content</div> <?php endif; ?>

也尝试过:

<?php if( has_tag( 'tagnamehere' ) ){ echo '<div>my content</div>'; } ?>

那也不起作用。

基本上,我只希望它查看产品的TAG,如果该TAG存在,则只需显示图像(div)。似乎没有任何作用。

1 个答案:

答案 0 :(得分:1)

WordPress实际上使用了Taxonomies和术语。

分类法基本上是帖子或自定义帖子类型(如“类别”或“帖子标签”)的分组,术语基本上是各个分组名称“精选帖子”等。

WooCommerce基本上注册了一个名为product的{​​{3}}和一个名为product_tag的分类法。请注意,这不同于默认的Custom Post Type

有效地,这意味着您需要检查term分类中是否存在tagnamehere'product_tag',最简单的方法是使用Tags on Posts函数。这基本上类似于has_tag()

的“带有自定义类别(又称为分类法)的自定义帖子类型”版本
if( has_term( 'tagnamehere', 'product_tag' ) ){
    echo '<div>my content</div>';
}

还可以解决您原始的代码“两个版本”-大括号或替代语法if语句的工作方式相同,并且主要取决于样式/首选项。