Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function hsta_search_posts_join($joins) {
- global $wpdb;
- return $joins . " INNER JOIN {$wpdb->postmeta} ON ({$wpdb->posts}.ID = {$wpdb->postmeta}.post_id)";
- }
- function hsta_search_posts_join($search,$qry) {
- global $wpdb;
- $add = $wpdb->prepare("({$wpdb->postmeta}.meta_key = 'pt_assessment' AND CAST({$wpdb->postmeta}.meta_value AS CHAR) LIKE '%%%s%%')",$qry->get('s'));
- $pat = '|\(\((.+)\)\)|';
- $search = preg_replace($pat,'(($1 OR '.$add.'))',$search);
- return $search;
- }
- $args['s'] = $_REQUEST['search'];
- $args = array(
- 'post_type' => array( 'news_article', 'perf_task', 'lesson_plan', 'diff_perf_task', 'diff_lesson_plan' ),
- 's' => $args['s']
- );
- function update_results(){
- add_filter('posts_join','hsta_search_posts_join');
- add_filter('posts_search','hsta_search_posts_join',1,2);
- $custom_q = new WP_Query($args);
- // tests
- //var_dump($custom_q->request);
- //var_dump($custom_q->posts);
- wp_send_json_success($custom_q->posts);
- remove_filter('posts_join','hsta_search_posts_join');
- remove_filter('posts_search','hsta_search_posts_join',1,2);
- }
- add_action( 'wp_ajax_update_results', 'update_results' );
- add_action( 'wp_ajax_nopriv_update_results', 'update_results' );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement