wp_terms_checklist [ WordPress Function ]
wp_terms_checklist ( $post_id = 0, $args = array() )
| Parameters: |
|
| Defined at: |
|
Soorgelijke functies: wp_popular_terms_checklist, wp_category_checklist, wp_link_category_checklist, wp_version_check, wp_filter_object_list
Output an unordered list of checkbox <input> elements labelled with term names. Taxonomy independent version of wp_category_checklist().
Source
<?php
function wp_terms_checklist($post_id = 0, $args = array()) {
$defaults = array(
'descendants_and_self' => 0,
'selected_cats' => false,
'popular_cats' => false,
'walker' => null,
'taxonomy' => 'category',
'checked_ontop' => true
);
$args = apply_filters( 'wp_terms_checklist_args', $args, $post_id );
extract( wp_parse_args($args, $defaults), EXTR_SKIP );
if ( empty($walker) || !is_a($walker, 'Walker') )
$walker = new Walker_Category_Checklist;
$descendants_and_self = (int) $descendants_and_self;
$args = array('taxonomy' => $taxonomy);
$tax = get_taxonomy($taxonomy);
$args['disabled'] = !current_user_can($tax->cap->assign_terms);
if ( is_array( $selected_cats ) )
$args['selected_cats'] = $selected_cats;
elseif ( $post_id )
$args['selected_cats'] = wp_get_object_terms($post_id, $taxonomy, array_merge($args, array('fields' => 'ids')));
else
$args['selected_cats'] = array();
if ( is_array( $popular_cats ) )
$args['popular_cats'] = $popular_cats;
else
$args['popular_cats'] = get_terms( $taxonomy, array( 'fields' => 'ids', 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false ) );
if ( $descendants_and_self ) {
$categories = (array) get_terms($taxonomy, array( 'child_of' => $descendants_and_self, 'hierarchical' => 0, 'hide_empty' => 0 ) );
$self = get_term( $descendants_and_self, $taxonomy );
array_unshift( $categories, $self );
} else {
$categories = (array) get_terms($taxonomy, array('get' => 'all'));
}
if ( $checked_ontop ) {
// Post process $categories rather than adding an exclude to the get_terms() query to keep the query the same across all posts (for any query cache)
$checked_categories = array();
$keys = array_keys( $categories );
foreach( $keys as $k ) {
if ( in_array( $categories[$k]->term_id, $args['selected_cats'] ) ) {
$checked_categories[] = $categories[$k];
unset( $categories[$k] );
}
}
// Put checked cats on top
echo call_user_func_array(array(&$walker, 'walk'), array($checked_categories, 0, $args));
}
// Then the rest of them
echo call_user_func_array(array(&$walker, 'walk'), array($categories, 0, $args));
}
?>
Examples [ wp-snippets.com ]
Top Google zoekresultaten
- Function Reference/wp terms checklist « WordPress Codex
Description. Taxonomy independent version of wp_category_checklist. Usage. < ?php wp_terms_checklist( $post_id, $args ); ?> Parameters. $post_id: (int) ...
codex.wordpress.org - #20054 (No way to filter wp_terms_checklist() to prevent checked ...
I'm not prosing that the default behaviour is change, but it would be nice to be able to filter the output at some point, probably in the wp_terms_checklist() function ...
core.trac.wordpress.org - wp_terms_checklist (WordPress Function) - WPSeek.com
WordPress lookup for wp_terms_checklist, a WordPress Function. wpseek.com is a WordPress-centric search tool for developers and theme authors.
wpseek.com - wp_terms_checklist() WordPress function reference, arguments and ...
Taxonomy independent version of wp_category_checklist.
queryposts.com