【发布时间】:2018-04-06 00:28:50
【问题描述】:
我试图仅显示帖子数量超过特定数量的标签。为了实现这一点,我修改了我的 tag-links.php 代码,如下所示。但是有了这段代码,我得到了一些奇怪的行为。我的页面在内容数量下方不显示任何标签,没关系,但有时它也会隐藏其他标签。当我刷新页面时,它将显示不同的标签或不显示任何标签。我是 php 语法的新手,所以我不确定,但代码似乎正确。你能告诉我代码问题,或者解决我问题的任何实用方法吗?
PS:代码中也包含这个功能,每个标签都会将用户重定向到带有这个特定标签的随机帖子,效果很好。
<?php
$tags = get_the_tags( $post->ID );
$separator = ' ';
$output = '';
if ( $tags ) {
$link = "";
$xnumber = 0; //number for contents with specific tag
echo '<div class="entry-tags">';
echo "<p><span>" . __( ) . "</span>";
foreach ( $tags as $tag ) {
$posts = get_posts("post_type=post&orderby=rand");
foreach($posts as $post) {
if(has_tag($tag->term_id)) {
$xnumber++;
if($xnumber >= 1) {
$link = get_permalink($post);
break 1;
} else { }
} else { }
}
if($xnumber >= 1) {
$output .= '<a href="' . esc_url( $link ) . '" title="'
. esc_attr( sprintf( __( "View all posts tagged %s",
'tracks' ), $tag->name ) ) . '">' . esc_html( $tag->name )
. '</a>' . $separator;
unset($link);
unset($xnumber);
} else {
unset($link);
unset($xnumber);
}
}
echo trim( $output, $separator );
echo "</p>";
echo "</div>";
}
【问题讨论】:
-
替换未设置($xnumber);到 $xnumber = 0;
-
很抱歉,但它没有帮助。同样的行为仍在继续。
标签: php wordpress random foreach tags