从指定的分类中检索最常用术语的列表。

原型

wp_popular_terms_checklist( string $taxonomy, int $default, int $number = 10, bool $echo = true )

描述

如果$ echo参数为true,则输出标有所选术语名称的复选框元素列表的元素。如果$ post_ID全局不为空,则与该帖子关联的术语将被标记为已选中。

参数

$taxonomy (string) (Required) 从中检索术语的分类法。

$default (int) (Required) 不曾用过。

$number (int) (Optional) 要检索的术语数。默认为10。

$echo (bool) (Optional) y也输出列表。默认为true。

返回值

(array)  热门术语ID列表。

源文件

路径:wp-admin/includes/template.php

<?php
...
function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $echo = true ) {
	$post = get_post();
	if ( $post && $post->ID )
		$checked_terms = wp_get_object_terms($post->ID, $taxonomy, array('fields'=>'ids'));
	else
		$checked_terms = array();
	$terms = get_terms( $taxonomy, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => $number, 'hierarchical' => false ) );
	$tax = get_taxonomy($taxonomy);
	$popular_ids = array();
	foreach ( (array) $terms as $term ) {
		$popular_ids[] = $term->term_id;
		if ( !$echo ) // Hack for Ajax use.
			continue;
		$id = "popular-$taxonomy-$term->term_id";
		$checked = in_array( $term->term_id, $checked_terms ) ? 'checked="checked"' : '';
		?>
		<li id="<?php echo $id; ?>" class="popular-category">
			<label class="selectit">
				<input id="in-<?php echo $id; ?>" type="checkbox" <?php echo $checked; ?> value="<?php echo (int) $term->term_id; ?>" <?php disabled( ! current_user_can( $tax->cap->assign_terms ) ); ?> />
				<?php
				/** This filter is documented in wp-includes/category-template.php */
				echo esc_html( apply_filters( 'the_category', $term->name, '', '' ) );
				?>
			</label>
		</li>
		<?php
	}
	return $popular_ids;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/wp_popular_terms_checklist/