Changes from trunk/wp-includes/taxonomy.php at r10159 to branches/2.7/wp-includes/taxonomy.php at r10417
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.7/wp-includes/taxonomy.php
r10159 r10417 535 535 * 'exclude' is ignored. 536 536 * 537 * exclude_tree - A comma- or space-delimited string of term ids to exclude 538 * from the return array, along with all of their descendant terms according to 539 * the primary taxonomy. If 'include' is non-empty, 'exclude_tree' is ignored. 540 * 537 541 * include - Default is an empty string. A comma- or space-delimited string 538 542 * of term ids to include in the return array. … … 605 609 606 610 $defaults = array('orderby' => 'name', 'order' => 'ASC', 607 'hide_empty' => true, 'exclude' => '', ' include' => '',611 'hide_empty' => true, 'exclude' => '', 'exclude_tree' => '', 'include' => '', 608 612 'number' => '', 'fields' => 'all', 'slug' => '', 'parent' => '', 609 613 'hierarchical' => true, 'child_of' => 0, 'get' => '', 'name__like' => '', … … 669 673 if ( !empty($include) ) { 670 674 $exclude = ''; 675 $exclude_tree = ''; 671 676 $interms = preg_split('/[\s,]+/',$include); 672 677 if ( count($interms) ) { … … 685 690 686 691 $exclusions = ''; 692 if ( ! empty( $exclude_tree ) ) { 693 $excluded_trunks = preg_split('/[\s,]+/',$exclude_tree); 694 foreach( (array) $excluded_trunks as $extrunk ) { 695 $excluded_children = (array) get_terms($taxonomies[0], array('child_of' => intval($extrunk), 'fields' => 'ids')); 696 $excluded_children[] = $extrunk; 697 foreach( (array) $excluded_children as $exterm ) { 698 if ( empty($exclusions) ) 699 $exclusions = ' AND ( t.term_id <> ' . intval($exterm) . ' '; 700 else 701 $exclusions .= ' AND t.term_id <> ' . intval($exterm) . ' '; 702 703 } 704 } 705 } 687 706 if ( !empty($exclude) ) { 688 707 $exterms = preg_split('/[\s,]+/',$exclude); 689 708 if ( count($exterms) ) { 690 709 foreach ( (array) $exterms as $exterm ) { 691 if ( empty($exclusions))710 if ( empty($exclusions) ) 692 711 $exclusions = ' AND ( t.term_id <> ' . intval($exterm) . ' '; 693 712 else … … 718 737 $where .= ' AND tt.count > 0'; 719 738 720 if ( !empty($number) ) { 739 // don't limit the query results when we have to descend the family tree 740 if ( ! empty($number) && ! $hierarchical && empty( $child_of ) && '' == $parent ) { 721 741 if( $offset ) 722 $ number= 'LIMIT ' . $offset . ',' . $number;742 $limit = 'LIMIT ' . $offset . ',' . $number; 723 743 else 724 $ number= 'LIMIT ' . $number;744 $limit = 'LIMIT ' . $number; 725 745 726 746 } else 727 $ number= '';747 $limit = ''; 728 748 729 749 if ( !empty($search) ) { … … 740 760 $select_this = 't.term_id, tt.parent, tt.count, t.name'; 741 761 742 $query = "SELECT $select_this FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ($in_taxonomies) $where ORDER BY $orderby $order $number"; 743 762 $query = "SELECT $select_this FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ($in_taxonomies) $where ORDER BY $orderby $order $limit"; 763 764 $terms = $wpdb->get_results($query); 744 765 if ( 'all' == $fields ) { 745 $terms = $wpdb->get_results($query);746 766 update_term_cache($terms); 747 } else if ( ('ids' == $fields) || ('names' == $fields) ) {748 $terms = $wpdb->get_results($query);749 767 } 750 768 … … 792 810 $_terms[] = $term->name; 793 811 $terms = $_terms; 812 } 813 814 if ( 0 < $number && intval(@count($terms)) > $number ) { 815 $terms = array_slice($terms, $offset, $number); 794 816 } 795 817
Note: See TracChangeset
for help on using the changeset viewer.