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.
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
Return
(int[]) Array of popular term IDs.
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; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
2.5.0 | Introduced. |