Как отобразить теги?


Я создаю окно информационной книги, в котором категория как издатель и теги как жанр. Это мой код:

<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>

Категория как издатель - это работа, но теги как жанр не работают (не отображаются). Что я должен сделать, чтобы исправить код?

Author: Kodos Johnson, 2016-05-10

1 answers

get_the_tags() возвращает массив объектов. У каждого объекта есть свойство "имя". Если вы хотите показать все теги, назначенные для публикации, вам придется просмотреть их и повторить свойство имени каждого тега. Если вы хотите отобразить ссылку для каждого тега, вам придется использовать функцию 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>
 1
Author: Kodos Johnson, 2016-05-10 01:17:56