Cercare un post dal meta data in WordPress
Torna la pagina e le pagine del metadata cercato
/** * Torna la pagina e le pagine del metadata cercato * @global type $wpdb * @param string $meta_name il nome del metafield * @param string|array $meta_value il valore o i valori cda filtrare * @param boolean $single di default false, TRUE per tornare un singolo post * @return array[post] | array[ array[post] ] */ public function get_page_from_meta( $meta_name, $meta_value, $single = false ) { global $wpdb; $table = $wpdb->prefix . 'posts'; $meta_query_args = array( array( 'key' => $meta_name, 'value' => $meta_value, 'compare' => 'IN' ) ); $meta_query = new WP_Meta_Query( $meta_query_args ); $mq_sql = $meta_query->get_sql( 'post', $table, 'id', null ); $prepared = "SELECT * FROM $table ".$mq_sql['join'].' WHERE post_type = "page" AND post_status = "publish" '.$mq_sql['where']; return $single ? $wpdb->get_row( $prepared, ARRAY_A ) : $wpdb->get_results( $prepared, ARRAY_A ); }