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?

È stato utile?

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)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top