Domanda

Come filtrare WP_Query per i messaggi che hanno una certa meta-valore, senza l'utilizzo di una query di selezione personalizzato?

Ho un posttype personalizzato con meta-chiave: "aperto", e le opzioni di meta-valore:. "Sì" o "no"

Vorrei mostrare i messaggi solo con meta_value = yes, per meta_key = "open".

function filter_where($where = '') {    

    $open = "yes";

    //$where .= " AND post_date > '" . date('Y-m-d', strtotime('-2 days')) . "'";
    return $where;
}
add_filter('posts_where', 'filter_where');
È stato utile?

Soluzione

Non sono sicuro che dal testo se non avessi provato con argomenti query o non ha funzionato?

$the_query = new WP_Query(array( 'meta_key' => 'open', 'meta_value' => 'yes' ));

campo personalizzato Parametri nel Codex.

Altri suggerimenti

 $querystr = "
    SELECT wposts.* 
    FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
    WHERE wposts.ID = wpostmeta.post_id 
    AND wpostmeta.meta_key = 'custom-key' 
    AND wposts.post_type = 'page' 
    ORDER BY wpostmeta.meta_value DESC
    ";
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top