Cercare un post dal meta data in WordPress
Versione del 21 giu 2023 alle 15:20 di Andrea (discussione | contributi) (Creata pagina con "← ritorno a WordPress Category:WordPress Torna la pagina e le pagine del metadata cercato <pre> /** * Torna la pagina e le pagine del metadata cerc...")
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 );
}