function ss_menu_terms( $atts ){ extract( shortcode_atts( array( 'tax' => 'category', 'display_count' => 'false', 'columns' => 5, 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 'false', 'exclude' => array(), 'exclude_tree' => array(), 'include' => array(), 'number' => '', //'fields' => 'all', 'slug' => '', 'parent' => '', 'hierarchical' => 'true', 'child_of' => 0, 'get' => '', 'name__like' => '', 'pad_counts' => 'false', 'offset' => '', 'search' => '', 'cache_domain' => 'core' ), $atts ) ); $display_count = $display_count == 'true' ? true : false; $hide_empty = $hide_empty == 'true' ? true : false; $hierarchical = $hierarchical == 'false' ? false : true; $pad_counts = $pad_counts == 'true' ? true : false; if( strpos( $tax , ',' ) ) $tax = explode( ',' , $tax ); if( !is_array( $exclude ) ) $exclude = explode( ',' , $exclude ); if( !is_array( $exclude_tree ) ) $exclude_tree = explode( ',' , $exclude_tree ); if( !is_array( $include ) ) $include = explode( ',' , $include ); $term_args = compact( 'orderby' , 'order' , 'hide_empty' , 'exclude' , 'exclude_tree' , 'include' , 'number' , 'slug' , 'parent' , 'hierarchical' , 'child_of' , 'get' , 'name__like' , 'pad_counts' , 'offset' , 'search' , 'cache_domain' ); $terms = get_terms( $tax , $term_args ); $n = count( $terms ); $per_column = ceil( $n / $columns ); $html = '<div class="menu-terms menu-terms-col-'.$columns.'">'; $html.= '<ul class="menu-terms-column">'; foreach( $terms as $i => $term ){ $html.= '<li class="term-'.$term->term_id.' term-slug-'.$term->slug.' term-taxonomy-'.$term->taxonomy.'">'; $html.= '<a href="'.get_term_link($term).'">'; $html.= $term->name; if( $display_count ) $html.= ' ('.$term->count. ')'; $html.= '</a></li>'; if( ($i+1) % $per_column == 0 ){ $html.= '</ul><ul class="menu-terms-column">'; } } $html.= '</ul></div>'; //umssd( $terms[0] ); return $html; } add_shortcode( 'menu-terms' , 'ss_menu_terms' );