Make WordPress Core

Changeset 25936


Ignore:
Timestamp:
10/26/2013 07:00:57 PM (13 years ago)
Author:
nacin
Message:

Fix the exclude_tree argument in get_terms(), which fixes the exclude argument in wp_list_categories().

Merges [25933] to the 3.7 branch.

This was a 3.7 regression caused by [25162].

props dd32.
fixes #25710.

Location:
branches/3.7
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/3.7

  • branches/3.7/src

  • branches/3.7/src/wp-includes/taxonomy.php

    r25596 r25936  
    13631363        if ( ! empty( $exclude_tree ) ) {
    13641364                $exclude_tree = wp_parse_id_list( $exclude_tree );
    1365                 $excluded_children = array();
     1365                $excluded_children = $exclude_tree;
    13661366                foreach ( $exclude_tree as $extrunk ) {
    13671367                        $excluded_children = array_merge(
  • branches/3.7/tests/phpunit/tests/term/getTerms.php

    r25384 r25936  
    153153
    154154        /**
     155         * @ticket 25710
     156         */
     157        function test_get_terms_exclude_tree() {
     158
     159                $term_id_uncategorized = get_option( 'default_category' );
     160
     161                $term_id1 = $this->factory->category->create();
     162                $term_id11 = $this->factory->category->create( array( 'parent' => $term_id1 ) );
     163                $term_id2 = $this->factory->category->create();
     164                $term_id22 = $this->factory->category->create( array( 'parent' => $term_id2 ) );
     165
     166                // There's something else broken in the cache cleaning routines that leads to this having to be done manually
     167                delete_option( 'category_children' );
     168
     169                $terms = get_terms( 'category', array(
     170                        'exclude' => $term_id_uncategorized,
     171                        'fields' => 'ids',
     172                        'hide_empty' => false,
     173                ) );
     174                $this->assertEquals( array( $term_id1, $term_id11, $term_id2, $term_id22 ), $terms );
     175
     176                $terms = get_terms( 'category', array(
     177                        'fields' => 'ids',
     178                        'exclude_tree' => "$term_id1,$term_id_uncategorized",
     179                        'hide_empty' => false,
     180                ) );
     181
     182                $this->assertEquals( array( $term_id2, $term_id22 ), $terms );
     183
     184        }
     185
     186        /**
    155187         * @ticket 13992
    156188         */
Note: See TracChangeset for help on using the changeset viewer.