尝试使用has_tag()
条件模板标记。e、 例如,要查询标记“foobar”:
<?php
if ( has_tag( \'foobar\' ) ) {
// The current post has the tag "foobar";
// do something
} else {
// The current post DOES NOT have the tag "foobar";
// do something else
}
?>
如果您在循环中,只需调用
<?php has_tag( $tag ); ?>
; 如果您在循环之外,则需要传递post ID:
<?php has_tag( $tag, $post ); ?>
因此,近似您的代码:
$tags = get_tags( array( \'hide_empty\' => false ) );
if ( $tags ) {
foreach ( $tags as $tag ) {
if ( has_tag( $tag->slug ) ) {
// Current post has $tag;
// output the tag link
echo \'<dt style="display:inline; float:left; padding-right:5px;"><strong><a href="\' . get_tag_link( $tag->term_id ) . \'" title="\' . sprintf( __( "View all posts in %s" ), $tag->name ) . \'" \' . \' style="text-decoration:none;">\' . $tag->name.\'</a></strong></dt><dd style="margin-bottom:20px;">\' . $tag->description . \'</dd>\';
} else {
// Current post does NOT have the tag;
// output just the tag name
echo $tag->name;
}
}
}
EDIT
因此,另一种想法是:如果您从任意的术语列表中提取,并且您想确定该术语是否用作post标记,那么您可以尝试使用
term_exists()
有条件的e、 g.如果您想知道“foobar”是否用作post标记:
<?php
if ( term_exists( \'foobar\', \'post_tag\' ) ) {
// The term \'foobar\' is used as a post tag;
// do something
}
?>
但我仍然对你这里“标签”的来源感到困惑。
EDIT 2
因此,现在我们将根据
tag count 大于零(即标签已在至少一个立柱上使用):
$tags = get_tags( array( \'hide_empty\' => false ) );
if ($tags) {
foreach ($tags as $tag) {
if ( 0 < $tag->count ) {
echo \'<dt style="display:inline; float:left; padding-right:5px;"><strong>\';
if ( has_tag( $tag->slug ) ) {
echo \'<a href="\' . get_tag_link( $tag->term_id ) . \'" title="\' . sprintf( __( "View all posts in %s" ), $tag->name ) . \'" \' . \' style="text-decoration:none;">\' . $tag->name.\'</a>\';
} else {
echo $tag->name;
}
echo \'</strong></dt><dd style="margin-bottom:20px;">\' . $tag->description . \'</dd>\';
}
}
}