如何显示标签?

时间:2016-05-10 00:04:18

标签: php wordpress tags

我创建了收藏箱,其中类别为发布者,标签为流派。这是我的代码:

<table>
<?php
    $my_publisher = get_the_category();
    $my_genre = get_the_tags();

if( ! empty( $my_publisher[0] ) ) {
        echo '<tr><td align="right" class="infobook"><b>Publisher</td><td align="center" class="infobook">:</td></b><td class="infobook"> <a href="'.get_category_link($my_publisher[0]->term_id ).'">'.$my_publisher[0]->cat_name.'</a></td></tr>';
            }

if( ! empty( $my_genre ) ) {
        echo '<tr><td align="right" class="infobook"><b>Genre</td><td align="center" class="infobook">:</td></b><td class="infobook"> ' .$my_genre. ' </td></tr>';
            }
?>
</table>

作为出版商的类别是工作,但作为流派的标签不起作用(不显示)。 我该怎么做来修复代码?

1 个答案:

答案 0 :(得分:1)

get_the_tags()返回一个对象数组。每个对象都有一个&#34;名称&#34;属性。如果要显示分配给帖子的所有标记,则必须循环遍历它们并回显每个标记的name属性。如果要显示每个标记的链接,则必须使用get_tag_link()函数并传入标记对象以获取链接。

我修改了代码;你可以在下面看到它。我正在使用数组存储链接,然后使用逗号作为分隔符将其内爆。

<table>
<?php
$my_publisher = get_the_category();
$my_genre = get_the_tags();

if( ! empty( $my_publisher[0] ) ) {
    echo '<tr><td align="right" class="infobook"><b>Publisher</td><td align="center" class="infobook">:</td></b><td class="infobook"> <a href="'.get_category_link($my_publisher[0]->term_id ).'">'.$my_publisher[0]->cat_name.'</a></td></tr>';
}

if( ! empty( $my_genre ) ) {
    $tag_links = array();
    foreach($my_genre as $tag) {
        $tag_links[] = '<a href="'.get_tag_link($tag).'">'.$tag->name.'</a>';
    } 
    echo '<tr><td align="right" class="infobook"><b>Genre</td><td align="center" class="infobook">:</td></b><td class="infobook"> ' . implode(',', $tag_links) . ' </td></tr>';
}
?>
</table>