WordPress.org

Make WordPress Core

Ticket #37568: 37568.2.diff

File 37568.2.diff, 2.6 KB (added by flixos90, 4 years ago)
  • src/wp-includes/class-wp-meta-query.php

     
    749749        public function has_or_relation() {
    750750                return $this->has_or_relation;
    751751        }
     752
     753        /**
     754         * Returns additional default fields for any query class that uses `WP_Meta_Query`.
     755         *
     756         * @since 4.6.0
     757         *
     758         * @return array Array of defaults for meta queries.
     759         */
     760        public static function get_defaults() {
     761                return array(
     762                        'meta_key'     => '',
     763                        'meta_value'   => '',
     764                        'meta_type'    => '',
     765                        'meta_compare' => '',
     766                        'meta_query'   => '',
     767                );
     768        }
    752769}
  • src/wp-includes/class-wp-term-query.php

     
    172172         * }
    173173         */
    174174        public function __construct( $query = '' ) {
    175                 $this->query_var_defaults = array(
     175                $this->query_var_defaults = array_merge( array(
    176176                        'taxonomy'               => null,
    177177                        'orderby'                => 'name',
    178178                        'order'                  => 'ASC',
     
    198198                        'childless'              => false,
    199199                        'cache_domain'           => 'core',
    200200                        'update_term_meta_cache' => true,
    201                         'meta_query'             => '',
    202                 );
     201                ), WP_Meta_Query::get_defaults() );
    203202
    204203                if ( ! empty( $query ) ) {
    205204                        $this->query( $query );
  • tests/phpunit/tests/term/getTerms.php

     
    1212        }
    1313
    1414        /**
     15         * @ticket 37568
     16         */
     17        public function test_meta_query_args_only() {
     18                register_taxonomy( 'wptests_tax', 'post', array( 'hierarchical' => true ) );
     19
     20                $term1 = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax' ) );
     21                $term2 = self::factory()->term->create( array( 'taxonomy' => 'wptests_tax' ) );
     22
     23                $post = self::factory()->post->create( array( 'post_type' => 'post' ) );
     24
     25                update_term_meta( $term1, 'somekey', 'thevalue' );
     26
     27                wp_set_post_terms( $post, array( $term1, $term2 ), 'wptests_tax' );
     28
     29                $found = get_terms( array(
     30                        'meta_key' => 'somekey',
     31                        'meta_value' => 'thevalue',
     32                ) );
     33
     34                $this->assertEqualSets( array( $term1 ), wp_list_pluck( $found, 'term_id' ) );
     35        }
     36
     37        /**
    1538         * @ticket 35495
    1639         */
    1740        public function test_should_accept_an_args_array_containing_taxonomy_for_first_parameter() {