将wp_tag_cloud仅用于在特定年份发布的帖子

时间:2017-12-30 作者:dobiho

我想显示特定年份帖子的标签云,以在帖子中总结年份。

https://codex.wordpress.org/Function_Reference/wp_tag_cloud 没有年份筛选器。如何获得它?

1 个回复
SO网友:dipak_pusti

你所能做的就是找到今年的帖子,并从这些帖子中筛选出标签。请参见下面的代码,

$getdate = getdate();
$args = array(
    \'date_query\' => array(
        array(
            \'year\'  => $getdate["year"]
        ),
    ),
);
$query = new WP_Query( $args );

$years_tag = array();

if ( $query->have_posts() ): 

    while ( $query->have_posts() ) : 

        $query->the_post();

        $post_tags = wp_get_post_tags( get_the_id(), array( \'fields\'=>\'ids\' ) );

        foreach ( $post_tags as $tag) {

            if( !in_array( $tag, $years_tag ) ) {
                array_push( $years_tag, $tag );
            }
        }

    endwhile; 
endif;

$args = array(
    \'include\' => implode(\',\', $years_tag),
);

wp_tag_cloud( $args );
您可以准确获取今年的标签BUT 这里的主要问题是标签数量不是基于今年。您可以操纵数组,将计数与标记ID一起带来,并在此基础上创建自己的函数。

我希望这会对你有所帮助。

结束

相关推荐

Posts list in custom taxonomy

我有这样的事情:$terms = get_the_terms( get_the_ID(), \'kosmetyki_dystrybutor\'); $terms_ids = []; foreach ( $terms as $term ) { $terms_ids[] = $term->term_id; } $args = array( \'post_type\' => \'kosmetyki\',