Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * Include custom taxonomies and terms in the default WordPress search
- */
- function keha76_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 keha76_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 keha76_search_groupby($groupby){
- global $wpdb;
- $groupby_id = "{$wpdb->posts}.ID";
- if(!is_search() || strpos($groupby, $groupby_id) !== false) return $groupby;
- if(!strlen(trim($groupby))) return $groupby_id;
- return $groupby.", ".$groupby_id;
- }
- add_filter('posts_where','keha76_search_where');
- add_filter('posts_join', 'keha76_search_join');
- add_filter('posts_groupby', 'keha76_search_groupby');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement