Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the js_composer domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/u395834680/domains/recreazon.com/public_html/wp-includes/functions.php on line 6131
/** * ===================================================== * Buscador Inteligente * ===================================================== */ public static function search($args = array()){ global $wpdb; $defaults = array( 'texto' => '', 'estado' => '', 'usuario' => '', 'location' => '', 'pluscode' => '', 'fecha' => '' ); $args = wp_parse_args($args,$defaults); $joins = array(); $where = array(); /* ------------------------------------------------------ Sólo Tours ------------------------------------------------------ */ $where[] = "p.post_type='tour'"; $where[] = "p.post_status<>'trash'"; /* ------------------------------------------------------ Usuario ------------------------------------------------------ */ $joins[]="LEFT JOIN {$wpdb->users} u ON u.ID=p.post_author"; /* ------------------------------------------------------ Estado ------------------------------------------------------ */ $joins[]="LEFT JOIN {$wpdb->postmeta} estado ON estado.post_id=p.ID AND estado.meta_key='tour_estado_de_la_publicacion'"; /* ------------------------------------------------------ PlusCode ------------------------------------------------------ */ $joins[]="LEFT JOIN {$wpdb->postmeta} plus ON plus.post_id=p.ID AND plus.meta_key='tour_pluscode'"; $joins[]="LEFT JOIN {$wpdb->postmeta} plus2 ON plus2.post_id=p.ID AND plus2.meta_key='fes_tour_pluscode'"; /* ------------------------------------------------------ Texto ------------------------------------------------------ */ if(!empty($args['texto'])){ $texto='%' . $wpdb->esc_like($args['texto']) . '%'; $where[]=$wpdb->prepare( "( p.post_title LIKE %s OR p.ID=%d )", $texto, intval($args['texto']) ); } /* ------------------------------------------------------ Estado ------------------------------------------------------ */ /* ------------------------------------------------------ Estado ------------------------------------------------------ */ if(!empty($args['estado'])){ $texto_estado = RZSP_FES::texto_estado( $args['estado'] ); if(!empty($texto_estado)){ $where[]=$wpdb->prepare( "estado.meta_value=%s", $texto_estado ); } } /* ------------------------------------------------------ Usuario ------------------------------------------------------ */ if(!empty($args['usuario'])){ $usuario='%' . $wpdb->esc_like($args['usuario']) . '%'; $where[]=$wpdb->prepare( "u.display_name LIKE %s", $usuario ); } /* ------------------------------------------------------ PlusCode ------------------------------------------------------ */ if(!empty($args['pluscode'])){ $pc='%' . $wpdb->esc_like($args['pluscode']) . '%'; $where[]=$wpdb->prepare( "( plus.meta_value LIKE %s OR plus2.meta_value LIKE %s )", $pc, $pc ); } /* ------------------------------------------------------ Fecha ------------------------------------------------------ */ if(!empty($args['fecha'])){ $where[]=$wpdb->prepare( "DATE(p.post_date)=%s", $args['fecha'] ); } /* ------------------------------------------------------ Ubicación (taxonomy location) ------------------------------------------------------ */ if(!empty($args['location'])){ $joins[]=" LEFT JOIN {$wpdb->term_relationships} tr ON tr.object_id=p.ID LEFT JOIN {$wpdb->term_taxonomy} tt ON tt.term_taxonomy_id=tr.term_taxonomy_id LEFT JOIN {$wpdb->terms} t ON t.term_id=tt.term_id "; $loc='%' . $wpdb->esc_like($args['location']) . '%'; $where[]=$wpdb->prepare( " tt.taxonomy='location' AND t.name LIKE %s ", $loc ); } $sql=" SELECT DISTINCT p.ID, p.post_title, p.post_date, u.display_name, estado.meta_value estado, COALESCE( plus.meta_value, plus2.meta_value ) pluscode FROM {$wpdb->posts} p ".implode("\n",$joins)." WHERE ".implode("\nAND\n",$where)." ORDER BY p.post_date DESC LIMIT 200 "; return $wpdb->get_results($sql,ARRAY_A); }