query_posts personalizzati () dei parametri
-
16-10-2019 - |
Domanda
io sono l'aggiunta di funzionalità di voto a un tema. I visitatori possono votare i messaggi su o giù. Ho creato una tabella per memorizzare il numero di voti per ogni post e che funziona bene. Ora sto cercando di messaggi di ordinamento dai loro voti.
Ho "votato su" e "bocciato" link. Per esempio, quando si fa clic su "votato" un nuovo parametro sort=up
viene passato nell'URL.
Nel ciclo, se il parametro esiste ed è = "up" Voglio messaggi Loop con voti in su.
wpdb->get_results("SELECT post_id, FROM $wpdb->votes WHERE up > 5");
Questo è dove voglio usare qualcosa come query_posts('sort=up')
prima del ciclo. La mia domanda è, come creo il costume "sort" parametro?
Soluzione
Se avete i vostri dati nella tabella a parte l'aggiunta di supporto per esso nella query è un po 'disordinato. In sostanza è necessario posts_where
filtro e posts_join
modificare query SQL prime in modo che la tabella personalizzata è unita e controllata contro i tuoi valori personalizzati.
Come per [più veloce :)] di Anu suggerimento avrebbe senso per memorizzare i valori in campi personalizzati utilizzare personalizzate Parametri campo (relative a orderBy, ma non stessa cosa) nella query.
Altri suggerimenti
Sono abbastanza sicuro che l'unico modo per farlo utilizzando il parametro orderby
è quello di memorizzare i valori di voto in un campo personalizzato.
Dal Codex (http://codex.wordpress.org/Function_Reference/query_posts#Orderby_Parameters)
OrderBy Parametri
-
orderby=meta_value Note: A meta_key=keyname must also be present in the query. Note also that the sorting will be alphabetical
-
orderby=meta_value_num - Order by numeric meta value (available with Version 2.8)