6

我正在尝试通过它获取标签的 id\name。

那是我的代码:

$tag = get_term_by('slug', 'hedoms', 'post_tag');
$tag_id =  $tag->term_id;

<h1><?php echo $tag->name;?></h1>

我从这里拿了它: https ://codex.wordpress.org/Function_Reference/get_term_by

我有带有 slug hedoms的标签,但它<h1>是空的,它不返回值。我已经使用类别尝试了此功能(get_term_by) - 并且结果相同。

在此处输入图像描述

第二个领域是蛞蝓。

但如果我用 id 而不是 slug 来做,它工作正常:

$tag_id = get_term_by('id', 97, 'post_tag');
echo $tag_id->name;

看起来 get_term_by 仅将“id”识别为字段。

我在这里想念什么?它应该是循环还是什么?

我试图做的文件是archive-product.phpWoocommerce 的。

4

2 回答 2

9
$tag = get_term_by('slug', ' hedoms','post_tag');

$tag_id =  $tag->term_id; 
于 2017-06-22T20:31:08.273 回答
2

好的,我找到了解决方案。

我在 get_term_by 上设置了分类法 'post_tag' 而不是 'product_tag' 作为 woocommerce 标签。下次我在查看分类页面时会仔细查看 wp-admin 的 url:

...wp-admin/edit-tags.php?taxonomy=product_tag&post_type=product

所以代码应该是这样的:

           $tag = get_term_by('slug', $slug, 'product_tag');
           $tag_name = $tag->name;

           <h1><?php echo $tag_name; ?></h1> 

解决了。

于 2017-06-22T21:10:00.063 回答