Changeset 36404
- Timestamp:
- 01/26/2016 03:11:12 AM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/query.php
r36403 r36404 2791 2791 } 2792 2792 2793 /** 2794 * Filter the search SQL that is used in the WHERE clause of WP_Query. 2795 * 2796 * @since 3.0.0 2797 * 2798 * @param string $search Search SQL for WHERE clause. 2799 * @param WP_Query $this The current WP_Query object. 2800 */ 2801 $search = apply_filters_ref_array( 'posts_search', array( $search, &$this ) ); 2793 if ( ! $q['suppress_filters'] ) { 2794 /** 2795 * Filter the search SQL that is used in the WHERE clause of WP_Query. 2796 * 2797 * @since 3.0.0 2798 * 2799 * @param string $search Search SQL for WHERE clause. 2800 * @param WP_Query $this The current WP_Query object. 2801 */ 2802 $search = apply_filters_ref_array( 'posts_search', array( $search, &$this ) ); 2803 } 2802 2804 2803 2805 // Taxonomies … … 3008 3010 $search_orderby = $this->parse_search_order( $q ); 3009 3011 3010 /** 3011 * Filter the ORDER BY used when ordering search results. 3012 * 3013 * @since 3.7.0 3014 * 3015 * @param string $search_orderby The ORDER BY clause. 3016 * @param WP_Query $this The current WP_Query instance. 3017 */ 3018 $search_orderby = apply_filters( 'posts_search_orderby', $search_orderby, $this ); 3012 if ( ! $q['suppress_filters'] ) { 3013 /** 3014 * Filter the ORDER BY used when ordering search results. 3015 * 3016 * @since 3.7.0 3017 * 3018 * @param string $search_orderby The ORDER BY clause. 3019 * @param WP_Query $this The current WP_Query instance. 3020 */ 3021 $search_orderby = apply_filters( 'posts_search_orderby', $search_orderby, $this ); 3022 } 3023 3019 3024 if ( $search_orderby ) 3020 3025 $orderby = $orderby ? $search_orderby . ', ' . $orderby : $search_orderby; -
trunk/tests/phpunit/tests/query/search.php
r36278 r36404 160 160 $this->assertEqualSets( array( $p2 ), $q->posts ); 161 161 } 162 163 /** 164 * @ticket 35594 165 */ 166 public function test_search_should_respect_suppress_filters() { 167 add_filter( 'posts_search', array( $this, 'filter_posts_search' ) ); 168 add_filter( 'posts_search_orderby', array( $this, 'filter_posts_search' ) ); 169 $q = new WP_Query( array( 170 's' => 'foo', 171 'suppress_filters' => true, 172 ) ); 173 remove_filter( 'posts_search', array( $this, 'filter_posts_search' ) ); 174 remove_filter( 'posts_search_orderby', array( $this, 'filter_posts_search' ) ); 175 176 $this->assertNotContains( 'posts_search', $q->request ); 177 } 178 179 public function filter_posts_search( $sql ) { 180 return $sql . ' /* posts_search */'; 181 } 162 182 }
Note: See TracChangeset
for help on using the changeset viewer.