wp_popular_terms_checklist() WordPress Function

The wp_popular_terms_checklist() function allows you to create a list of popular terms for a given post type. This can be used to display a list of popular terms for your site, or to create a checklist of terms that a post should be tagged with.

wp_popular_terms_checklist( string $taxonomy, int $default_term, int $number = 10, bool $display = true ) #

Retrieves a list of the most popular terms from the specified taxonomy.


Description

If the $display argument is true then the elements for a list of checkbox <input> elements labelled with the names of the selected terms is output. If the $post_ID global is not empty then the terms associated with that post will be marked as checked.


Top ↑

Parameters

$taxonomy

(string)(Required)Taxonomy to retrieve terms from.

$default_term

(int)(Optional) Not used.

$number

(int)(Optional) Number of terms to retrieve.

Default value: 10

$display

(bool)(Optional) Whether to display the list as well.

Default value: true


Top ↑

Return

(int[]) Array of popular term IDs.


Top ↑

Source

File: wp-admin/includes/template.php

function wp_popular_terms_checklist( $taxonomy, $default_term = 0, $number = 10, $display = 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(
		array(
			'taxonomy'     => $taxonomy,
			'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 ( ! $display ) { // Hack for Ajax use.
			continue;
		}

		$id      = "popular-$taxonomy-$term->term_id";
		$checked = in_array( $term->term_id, $checked_terms, true ) ? '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;
}


Top ↑

Changelog

Changelog
VersionDescription
2.5.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.