Ottenere Posts Plugin shortcode e meta_query?
-
16-10-2019 - |
Domanda
Get plug Messaggi alla lista messaggi di tipo postale "progetto". Voglio filtrare l'elenco per due campi personalizzati: anno (ex 2006). E lo stato (ex completati.). Ho aggiunto meta_query
al args get_post
del plugin e provato lo shortcode:
[get_posts post_type="project" meta_query="array(array('key' => 'state', 'value' =>
'Completed'),array('key' => 'year','value' => '2006'))" suppress_filters="false"]
Questo non funziona, anche se posso ottenere sia "stato" e "anno" per il lavoro dal proprio utilizzando meta_key
e meta_value
.
Qualcuno mi ha messo nella giusta direzione?
Soluzione
Oltre il plugin non aggiornato, questo non funzionerà perché l'arg meta_query viene valutata come una stringa:
array(3) {
["post_type"] => string(7) "project"
["meta_query"] => string(96) "array(array('key' => 'state', 'value' =>
'Completed'),array('key' => 'year','value' => '2006'))"
["suppress_filters"] => string(5) "false"
}
Vi suggerisco di fare un modello , dove si sarebbe chiamare direttamente get_posts () con il meta_query si desidera.
Si dovrà copiare il codice che gestisce la quotazione attuale dei posti.
Altri suggerimenti
Non credo che il plugin stato aggiornato per supportare i nuovi args di query, o specificamente in questo caso, l'arg meta_query
.
Gli elenchi pagina plugin di compatibilità fino a 3.0.5 , e se non ricordo male, meta_query
è stato introdotto in 3.1 , così naturalmente mi piacerebbe concludere il supporto non è ancora disponibile ..
Potrei sbagliarmi, basta unire i puntini ..
Gli usi del plugin shortcode_atts
per limitare l'elenco degli argomenti accettati:
http: // plugins.trac.wordpress.org/browser/nurelm-get-posts/tags/0.3/get-posts.php#L29
meta_query
non è su quella lista. Io suggerirei fork il plugin o chiedere all'autore di aggiornarlo per consentire le query meta.