我正在尝试显示标签列表。我想显示6个标签,但随机标签。不是发布标签,而是来自整个站点的标签。
<?php
$number_to_show = 10;
$tags = wp_tag_cloud( array(
\'taxonomy\' => \'post_tag\',
\'format\' => \'array\',
\'order\' => \'RAND\',
\'number\' => 0,
\'smallest\' => \'10\',
\'largest\' => \'10\',
\'echo\' => 0,
)
);
if ($tags) {
$max = ($number_to_show < sizeof($tags)) ? $number_to_show : sizeof($tags);
echo \'<ul class="wp-tag-cloud">\';
for ($i=0; $i < $max ; ++$i ) {
echo "<li>{$tags[$i]}</li>";
}
echo \'</ul>\';
}
?>
我对法典/函数不是很熟悉,但我正在尽力理解。
我希望标签通过html显示
<a class="class-name" href="tag-permalink"> <h3>Tag Name</h3></a>
否
ul
或
li
列表
我甚至试过这个,但都没用
<?php
$number_to_show = 6;
$tags = get_the_tags( array (
\'taxonomy\' => \'post_tag\',
\'format\' => \'array\',
\'order\' => \'RAND\',
\'number\' => 0,
\'echo\' => 0,
)
);
if ($tags) {
foreach($tags as $tag){
echo \'<a href="\'.get_tag_link($tag->term_id).\'" rel="tag" class="dummy- media-object"><h3>\'.$tag->name.\'</h3></a>\';
} ?>
如何解决此问题
最合适的回答,由SO网友:darrinb 整理而成
尝试以下操作:
$args = array(
\'taxonomy\' => \'post_tag\',
\'hide_empty\' => 0
);
$tags = get_terms( $args );
$class_name = \'my-custom-class-name\';
if ( ! empty( $tags ) && ! is_wp_error( $tags ) ) {
shuffle( $tags );
foreach( array_slice( $tags, 0, 6 ) as $tag ) {
printf( \'<a class="%1$s" href="%2$s">%3$s</a>\',
sanitize_html_class( $class_name ),
get_tag_link( $tag->term_id ),
sprintf( __( \'%s\') , $tag->name )
);
}
}
因为没有
RAND
中的订单选项
get_terms()
或
get_the_tags()
, 其作用是:
从中获取所有标签post_tags
分类法洗牌生成的数组
将结果数组分为6个条目与自定义类建立链接