Function Reference: autocompleters
Summary
This function has not been documented yet.
Source File
autocompleters() is located in geodir_advance_search_filters/geodirectory_advance_search_function.php [Line: 1930]
Source Code
function autocompleters() { global $wpdb; $geodir_terms_autocomplete = "''"; $gt_posttypes_autocomplete = "''"; $post_types = geodir_get_posttypes('array'); $post_type_array = array(); $post_type_tax = array(); $gd_post_type = isset($_REQUEST['post_type']) ? esc_attr($_REQUEST['post_type']) : 'gd_place'; if(!empty($post_types) && is_array($post_types) && array_key_exists($gd_post_type ,$post_types ) ) { if(!empty($post_types[$gd_post_type]) && is_array($post_types[$gd_post_type]) && array_key_exists('taxonomies' , $post_types[$gd_post_type] )) { foreach($post_types[$gd_post_type]['taxonomies'] as $geodir_taxonomy) { $post_type_tax[] = $geodir_taxonomy; } } } if(!empty($post_type_tax)) $geodir_terms_autocomplete = "'".implode("','", $post_type_tax)."'"; $gt_posttypes_autocomplete = "'". $gd_post_type."'"; $results = (get_option('autocompleter_results')!= false)?get_option('autocompleter_results'):1; $search = isset($_GET['q']) ? $_GET['q'] : ''; if(strlen($search)){ switch($results){ case 1: $words1 = $wpdb->get_results( $wpdb->prepare( "SELECT concat( name, '|', sum( count ) ) name, sum( count ) cnt FROM ".$wpdb->prefix."terms t, ".$wpdb->prefix."term_taxonomy tt WHERE t.term_id = tt.term_id AND t.name LIKE %s AND tt.taxonomy in (".$geodir_terms_autocomplete.") GROUP BY t.term_id ORDER BY cnt DESC", array($search.'%') ) ); $words2 = $wpdb->get_results( $wpdb->prepare( "SELECT post_title as name FROM $wpdb->posts where post_status='publish' and post_type in (".$gt_posttypes_autocomplete.") and post_date < '".current_time('mysql')."' and post_title LIKE %s ORDER BY post_title", array('%'.$search.'%') ) ); $words = array_merge((array)$words1 ,(array)$words2 ); asort($words); break; } foreach ($words as $word){ if($results > 0){ $id = isset($word->ID) ? $word->ID : ''; echo $word->name."|".get_permalink($id)."n"; }else{ echo $word->name."n"; } } } }