Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function change_wp_search_size($query) {
- if ( $query->is_search ) // Make sure it is a search page
- $query->query_vars['posts_per_page'] = 30; // Change 10 to the number of posts you would like to show
- return $query; // Return our modified query variables
- }
- add_filter('pre_get_posts', 'change_wp_search_size'); // Hook our custom function onto the request filter
- function custom_search_where($where){
- global $wpdb;
- if (is_search())
- $where .= "OR (t.name LIKE '%".get_search_query()."%' AND {$wpdb->posts}.post_status = 'publish')";
- return $where;
- }
- function custom_search_join($join){
- global $wpdb;
- if (is_search())
- $join .= "LEFT JOIN {$wpdb->term_relationships} tr ON {$wpdb->posts}.ID = tr.object_id INNER JOIN {$wpdb->term_taxonomy} tt ON tt.term_taxonomy_id=tr.term_taxonomy_id INNER JOIN {$wpdb->terms} t ON t.term_id = tt.term_id";
- return $join;
- }
- function custom_search_groupby($groupby){
- global $wpdb;
- // we need to group on post ID
- $groupby_id = "{$wpdb->posts}.ID";
- if(!is_search() || strpos($groupby, $groupby_id) !== false) return $groupby;
- // groupby was empty, use ours
- if(!strlen(trim($groupby))) return $groupby_id;
- // wasn't empty, append ours
- return $groupby.", ".$groupby_id;
- }
- add_filter('posts_where','custom_search_where');
- add_filter('posts_join', 'custom_search_join');
- add_filter('posts_groupby', 'custom_search_groupby');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement