Pregunta

Le estoy añadiendo características de voto a un tema. Los visitantes pueden votar mensajes hacia arriba o abajo. He creado una tabla para almacenar el número de votos para cada puesto y que funciona bien. Ahora estoy tratando de ordenar los mensajes por parte de sus votos.

Me han "votado arriba" y "abajo votado" enlaces. Por ejemplo, cuando se hace clic en "votado" una nueva sort=up parámetro se pasa en la URL.

En el bucle si el parámetro existe y es = "arriba" Quiero mensajes de bucle con votos hacia arriba.

wpdb->get_results("SELECT post_id, FROM $wpdb->votes WHERE up > 5");

Aquí es donde quiero usar algo como query_posts('sort=up') antes del bucle. Mi pregunta es, ¿cómo puedo crear la costumbre "tipo" parámetro?

¿Fue útil?

Solución

Si tiene sus datos en la tabla separada añadiendo soporte para él en la consulta es un poco desordenado. Básicamente tendrá que posts_where filtro y posts_join modificar consulta SQL en bruto para que la tabla personalizada se une y se comprueba con sus valores personalizados.

Como por [más rápido :)] de Anu sugerencia que tendría sentido para almacenar valores en campos personalizados y usar href="http://codex.wordpress.org/Function_Reference/query_posts#Custom_Field_Parameters" (relacionado con orderBy, pero no es lo mismo) en la consulta.

Otros consejos

estoy bastante seguro de que la única manera de hacer esto utilizando el parámetro orderby es almacenar los valores de voto en un campo personalizado.

Desde el Codex (http://codex.wordpress.org/Function_Reference/query_posts#Orderby_Parameters)

Parámetros OrdenarPor

  • 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)
Licenciado bajo: CC-BY-SA con atribución
scroll top