如何从WordPress的标签列表中不显示部分标签
WordPress的,通常是用tags和labels分别在侧栏显示标签云(cloud tags)和在文章中显示文章标记(Labels).由于分工不同,所以并不需要隐藏两个列表中的个别重复标签,但是如果当其中一个列表中的标签提供不一样的作用,就应该相对于另一个列表中的重复标签独立出来。
要不显示标签云中的部分标签并不是很困难因为 wp_tag_clud() 在codex都给出了相关的参数。例如,不显示ID为3和4的标签:
通常来说,在文章中显示标签的功能,默认是没有添加任何参数来隐藏部分标签的:
但是, 我发现更改get_the_tags()可以实现这个功能。首先将以下代码放置在你当前使用主题文件的fuctions.php文件下:
/* Excluir tags en Posts */
function pk_the_tags( $before = '', $sep = ', ', $after = '', $exclude = '' ) {
$tags = get_the_tags();
if ( empty( $tags ) )
return false;
$tag_list = $before;
foreach ( $tags as $tag ) {
if (!empty($exclude))
$pos = stripos( $exclude, $tag->name);
else
$pos = false;
if ($pos=== false)
$tag_links[] = '' . $tag->name . '';
}
if (empty($tag_links))
return false;
$tag_links = join( $sep, $tag_links );
$tag_links = apply_filters( 'the_tags', $tag_links );
$tag_list .= $tag_links;
$tag_list .= $after;
echo $tag_list;
}
如上面代码所显示的,每个Label列表的之前和之后都可以使用参数来分隔或隐藏你不想显示的标签。接着,你可以在主题文件的任何一部分调用这个函数,并通过名称来隐藏你不想显示标签。例如,隐藏标签称为“WordPress的”和“Blogger”的:
另外我还想说一句,是否需要在tags和labels中隐藏共同的标签,主要取决于是否使用了杂志类型的主题,或与其他功能的标签,但就我本人而言,我还是喜欢手动去除重复的标签。
翻译原文:Cómo excluir etiquetas de la lista de tags en Wordpress(西班牙文)
本文地址:如何从WordPress的标签列表中不显示部分标签