仅提取与该特定单个帖子相关联的相关标签

时间:2021-08-07 作者:The WP Intermediate

  $tags = get_tags(array(
    \'hide_empty\' => false
  ));
  echo \'<ul>\';
    foreach ($tags as $tag) {
      echo \'<li>\' . $tag->name . \'</li>\';
    }
  echo \'</ul>\';

enter image description here

以上代码是中代码的摘录content-single.php一切正常,但

在单个贴子中,标记是一个单独的功能。这将在所有单个帖子上生成一个完整的标记列表。我如何设置一个约束,以便在单篇文章页面上只提取那些与独立的单篇文章相关的标签?

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

如果要获取标记(分类:post_tag) 仅针对特定帖子,然后您可以使用get_the_tags().

文件摘录:

此函数返回一个对象数组,分配给帖子的每个标记对应一个对象。如果此函数用于The Loop, 那么就不需要传递ID了。

此功能不显示任何内容;您应该访问对象,然后回显或以其他方式使用所需的成员变量。

因此,在代码中,只需替换此部分:

  $tags = get_tags(array(
    \'hide_empty\' => false
  ));
使用此选项:

  $tags = get_the_tags();
但是,请注意get_the_tags() 可能会返回false 或aWP_Error 实例,因此请确保检查$tags 是有效数组。例如

$tags = get_the_tags();

if ( is_array( $tags ) && ! empty( $tags ) ) {
    echo \'<ul>\';
    foreach ($tags as $tag) {
        echo \'<li>\' . $tag->name . \'</li>\';
    }
    echo \'</ul>\';
}
实际上,如果您只想显示HTML列表(例如UL) 通过标记名和链接,您可以简单地使用the_tags() 像这样:

<?php the_tags( \'<ul><li>\', \'</li><li>\', \'</li></ul>\' ); ?>

相关推荐

List categories with posts

我知道我可以用wp_list_categories() 列出类别,但我如何才能同时列出各个类别下的帖子,下面是我想要实现的示例:类别1——cat1下的职位——cat1下的职位——cat2下的职位