如果有标签,请获取标签,否则。 [Wordpress,PHP,功能]

时间:2014-10-03 06:28:08

标签: php wordpress

如果有标签,我试图让wordpress显示标签。但是当没有标签时,如果没有标签,则其他元素会受到影响并被隐藏。我希望它显示"没有标签可用",当没有标签时,不隐藏整个元素。



if ( !has_tag() ) return;
    $tags = get_the_tags();	
    foreach ( $tags as $tag ) {
        $tag_link = get_tag_link( $tag->term_id );				
    }
	
    echo "<li class='list-group-item'><a href='{$url}' class='btn btn-danger btn-sm'><strong>Original Size</strong> ({$original_w}x{$original_h})</a>&nbsp;<a href='{$tag_link}' class='btn btn-danger btn-sm'><strong>Show more {$tag->name} wallpaper</strong></a></li>";
&#13;
&#13;
&#13;

当帖子中有标签时 http://i.stack.imgur.com/Tl06G.png

帖子中没有标签时 http://i.stack.imgur.com/jUyAZ.png

我想在帖子中没有标签的地方展示元素。

仅供参考,我是PHP的新手。

3 个答案:

答案 0 :(得分:0)

你的代码在这里有点争吵。您需要检查$tags是否为空。如果没有标记,$tags将为空,这意味着get_the_tags返回一个空数组。

你可以做这样的事情

$tags = get_the_tags();

if($tags) {
    //your foreach loop to show tags
}else{
    // show something else if there are no tags
}

答案 1 :(得分:0)

您可以执行以下操作。这对我有用。

   <div class="post-tags">
  <?php
global $post;
if(has_tag()){
foreach(get_the_tags($post->ID) as $tag)
{
        echo '<a href="' . get_tag_link($tag->term_id) . '">' . $tag->name . '</a>';

}
}else{
echo 'No tags available';
}

?>
</div>

答案 2 :(得分:0)

您已经收到不错的答案,我想添加一些常规内容:

您还可以使用PHP函数count()来计算数组中的项目数。这将为您提供更精确的信息,不仅是“有标签”或“没有标签”。

如果将count()的结果保存在变量中,则可以在条件语句中使用它,例如switch或if子句(如已显示)。