WordPress Query based on Custom Field and Category

Il bello di WordPress e’ che puoi farci di tutto e se il loop di default che ti propone non ti sta bene e vuoi loopare su query personalizzate da te, puoi.

Per esempio potreste volere che la query principale riporti solo determinati post basati su specifiche categorie, tags o quello che vi pare, e allora dovrete crearvi voi la query, ma anche per questo c’e’ qualcuno che ci ha gia’ pensato togliendovi diverso lavoro.

Con la seguente query, per esempio, riuscirete a estrapolare dal database di WordPress tutti i post contenuti nelle categorie 1,2 e 3, che hanno la meta_key “paragraf”, e ordinate per meta_value ascendente:

querystr = "
SELECT $wpdb->posts.*
FROM $wpdb->posts
LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id)
LEFT JOIN $wpdb->post2cat ON ($wpdb->posts.ID = $wpdb->post2cat.post_id)
WHERE $wpdb->postmeta.meta_key = 'paragraf'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'post'
AND $wpdb->post2cat.category_id IN (1,2,3)
ORDER BY $wpdb->postmeta.meta_value ASC
";

Ora bastera’ seguire il resto del tutorial per capire come visualizzare i risultati della vostra custom query.



Leave a Comment