仅当非空时才显示自定义分类

时间:2016-10-11 01:10:41

标签: php wordpress plugins taxonomy taxonomy-terms

我有这样的BOOKS INFOBOX:

getifaddrs()

然后我创建Simple Taxonomy Plugin使用的流派字段,我得到的代码显示如下:

<h4 style="margin:0 8px 6px 0px; padding-left:20px;">Data Buku</h4>
<table>
<?php
    $my_title = get_the_title();
    $my_date = get_post_meta( get_the_ID(), 'date', true);
    $my_penulis = get_post_meta( get_the_ID(), 'penulis', true);
        $my_isbn = get_post_meta( get_the_ID(), 'isbn', true);
    $my_publisher = get_the_category();
    $my_author = get_the_tags();

if( ! empty( $my_title ) ) {
    echo '<tr><td align="right" class="style" width="210"><b>Title</td><td align="center" class="style">:</td></b><td class="style"> ' . $my_title . '</td></tr>';
    }
if( ! empty( $my_date ) ) {
    echo '<tr><td align="right" class="style"><b>Release Date</td><td align="center" class="style">:</td></b><td class="style"> ' . $my_date . '</td></tr>';
    }
if( ! empty( $my_isbn ) ) {
    echo '<tr><td align="right" class="style"><b>ISBN</td><td align="center" class="style">:</td></b><td class="style"> ' . $my_isbn . '</td></tr>';
    }
if( ! empty( $my_publisher[0] ) ) {
    echo '<tr><td align="right" class="style"><b>Publisher</td><td align="center" class="style">:</td></b><td class="style"> <a href="'.get_category_link($my_publisher[0]->term_id ).'">'.$my_publisher[0]->cat_name.'</a></td></tr>';
    }
if( ! empty( $my_author ) ) {
    $tag_links = array();
    foreach($my_author as $tag) {
    $tag_links[] = '<a href="'.get_tag_link($tag).'">'.$tag->name.'</a>';
    } 
    echo '<tr><td align="right" class="style"><b>Author</td><td align="center" class="style">:</td></b><td class="style"> ' . implode(', ', $tag_links) . ' </td></tr>';
    }
?>

我的问题,如何将类型字段代码放在BOOKS INFOBOX中,如果空白数据如此类型字段不显示?

1 个答案:

答案 0 :(得分:2)

使用 the_terms() 功能,您应该使用get_the_term_list() function将其包含在回显的html代码中。然后我在Books Infobox 的末尾添加了显示(您可以将其移动到您想要的位置,以满足您的需求)

以下是您的代码,其中包含一些更改:

<h4 style="margin:0 8px 6px 0px; padding-left:20px;">Data Buku</h4>
<table>
<?php
    $my_title = get_the_title();
    $my_date = get_post_meta( get_the_ID(), 'date', true);
    $my_penulis = get_post_meta( get_the_ID(), 'penulis', true);
        $my_isbn = get_post_meta( get_the_ID(), 'isbn', true);
    $my_publisher = get_the_category();
    $my_author = get_the_tags();

    // Here we save the "Genre" terms in a variable.
    $genre_terms = get_the_term_list( $post->ID, 'genre', '', ', ', ' ' );

    if( ! empty( $my_title ) ) {
        echo '<tr><td align="right" class="style" width="210"><b>Title</td><td align="center" class="style">:</td></b><td class="style"> ' . $my_title . '</td></tr>';
    }
    if( ! empty( $my_date ) ) {
        echo '<tr><td align="right" class="style"><b>Release Date</td><td align="center" class="style">:</td></b><td class="style"> ' . $my_date . '</td></tr>';
    }
    if( ! empty( $my_isbn ) ) {
        echo '<tr><td align="right" class="style"><b>ISBN</td><td align="center" class="style">:</td></b><td class="style"> ' . $my_isbn . '</td></tr>';
    }
    if( ! empty( $my_publisher[0] ) ) {
        echo '<tr><td align="right" class="style"><b>Publisher</td><td align="center" class="style">:</td></b><td class="style"> <a href="'.get_category_link($my_publisher[0]->term_id ).'">'.$my_publisher[0]->cat_name.'</a></td></tr>';
        }
    if( ! empty( $my_author ) ) {
        $tag_links = array();
        foreach($my_author as $tag) {
            $tag_links[] = '<a href="'.get_tag_link($tag).'">'.$tag->name.'</a>';
        } 
        echo '<tr><td align="right" class="style"><b>Author</td><td align="center" class="style">:</td></b><td class="style"> ' . implode(', ', $tag_links) . ' </td></tr>';
    }
    // Here "Genres" are displayed if not empty.
    if( ! empty( $genre_terms ) ) {
        echo '<tr><td align="right" class="style"><b>Genre</td><td align="center" class="style">:</td></b><td class="style"> ' . $genre_terms . ' </td></tr>';          
    }
?>
</table>

这应该有用。