Pregunta

El uso de query_posts, ¿cómo puedo ordenar la lista de puestos de modo que los que tienen los comentarios más recientes son en la parte superior?

Busco algo semejante a como preguntas aquí en SE se ordenan cuando se ordena por "Activo".

¿Fue útil?

Solución

Yo no usaría query_posts(). Esa función en particular es para hacer cambios a una consulta específica ... y es lo suficientemente limitada que no se puede obtener el tipo de funcionalidad personalizada que necesita de ella.

Más bien, yo usaría una consulta personalizada. Lo que usted querrá hacer es aprobada comentarios de consulta ordenados por su fecha / aprobación y se unen con los mensajes que en su base de datos. Si una entrada no tiene ninguna observación, automáticamente se filtra a cabo en base a este criterio.

A muy simple ejemplo pseudo-código:

$qstr = 'SELECT * FROM wp_posts ON (wp_posts.post_id = wp_commnets.comment_post_id) WHERE wp_comments.comment_approved='approved' ORDER BY wp_comments.comment_date';
$my_query = new WP_Query($qstr);

while($my_query->have_posts() ...

Básicamente, usted está seleccionando los mensajes basados ??en criterios específicos relacionados con los datos en la tabla de comentarios. Mediante una consulta directa requiere una cierta profundidad de conocimiento con respecto a las sentencias SQL y la estructura de la base WP, aunque ... por lo que no suele ser mi primera recomendación, pero debería funcionar en su caso.

Sólo recuerde que el código anterior es pseudo-código ... lo que significa que lo hizo hasta la parte superior de mi cabeza, no podría funcionar, y sólo se debe utilizar como un ejemplo conceptual .

Para referencia:

Licenciado bajo: CC-BY-SA con atribución
scroll top