首页 > 解决方案 > 在 Single.php 中显示带有描述的帖子标签(不是所有标签,只有带有描述的帖子的标签)

问题描述

我想在 single.php 中显示带有描述的单个帖子标签。

我对此进行了搜索,最接近的解决方案如下。但是这段代码列出了博客的所有标签和描述。

$tags = get_tags( array( 'hide_empty' => false ) );
if ($tags) {
    foreach ($tags as $tag) {
        if ($tag->description) {
            echo '<dt><a href="' . get_tag_link( $tag->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $tag->name ) . '" ' . '>' . $tag->name.'</a></dt><dd>' . $tag->description . '</dd>';
        } 
    } 
}

我只需要列出带有描述的帖子标签。(它应该排除没有描述的帖子标签。)

例如:

我们在数据库中有4500 多个标签。

200 多个标签有描述。

一个示例单个帖子上有7 个标签。

其中只有4个有描述。

结果:

我只需要在 single.php 中显示 4 个标签

标签: phpwordpress

解决方案


您可以尝试下面的代码,它将在 single.php 中工作

<?php

$tags = wp_get_post_tags(get_the_ID());
if ($tags) {
    foreach ($tags as $tag) {
        if ($tag->description) {
            echo '<dt><a href="' . get_tag_link( $tag->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $tag->name ) . '" ' . '>' . $tag->name.'</a></dt><dd>' . $tag->description . '</dd>';
        } 
    } 
}

?>

推荐阅读