WordPress.org

Make WordPress Core

Ticket #21803: add_search_fields.2.patch

File add_search_fields.2.patch, 933 bytes (added by mark8barnes, 6 years ago)

Revised patch incorporating scribu's correction

  • wp-includes/query.php

     
    21872187                        $searchand = '';
    21882188                        foreach( (array) $q['search_terms'] as $term ) {
    21892189                                $term = esc_sql( like_escape( $term ) );
    2190                                 $search .= "{$searchand}(($wpdb->posts.post_title LIKE '{$n}{$term}{$n}') OR ($wpdb->posts.post_content LIKE '{$n}{$term}{$n}'))";
    2191                                 $searchand = ' AND ';
     2190                                $search_fields = array( "$wpdb->posts.post_title", "$wpdb->posts.post_content" );
     2191                                $search_fields = apply_filters( 'search_fields', $search_fields );
     2192                                if (is_array($search_fields)) {
     2193                                        foreach( $search_fields as &$s )
     2194                                                $s = "({$s} LIKE '{$n}{$term}{$n}')";
     2195                                        $search .= "{$searchand}(".implode( ' OR ', $search_fields  ).")";
     2196                                        $searchand = ' AND ';
     2197                                }
    21922198                        }
    21932199
    21942200                        if ( !empty($search) ) {