我创建了收藏箱,其中类别为发布者,标签为流派。这是我的代码:
<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>
作为出版商的类别是工作,但作为流派的标签不起作用(不显示)。 我该怎么做来修复代码?
答案 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>