Estoy tratando de realizar a mano, sin plugins (más que nada porque la mayoría no permite filtrar el post_type), una lista de los "Últimos posts comentados" a través de consultas a la $wpdb.
La consulta es la siguiente:
Código PHP:
<?php
$sql = "SELECT DISTINCT ID, post_title, post_type, comment_ID, comment_post_ID, comment_author, comment_date, comment_approved, comment_type,comment_author_url,
SUBSTRING(comment_content,1,50) AS com_excerpt FROM $wpdb->commentsLEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID)
WHERE comment_type = '' AND post_type = 'post'
GROUP BY comment_post_ID
ORDER BY comment_date LIMIT 10"; ?>
Código PHP:
<?php $comments = $wpdb->get_results($sql);
foreach ($comments as $comment) {
$frase = strip_tags($comment->comment_ID);
$tema = strip_tags($comment->comment_post_ID);
$ruta = get_permalink($tema);
$excerpt = get_the_title($tema);
$tiempo = strip_tags($comment->comment_date);
?>
A continuación viene el html para mostrar los resultados, que está bien, y luego el final del foreach.
El problema es que pretendo algo como esto:
Código PHP:
<?php $comrel = human_time_diff(get_comment_time('U'), current_time('timestamp'));
Sin embargo aunque parece que funciona, sólo me lo devuelve relativo al primer comentario realizado en el post, es decir, que si despues de tres días escribes en un post que ya lleva unos días abierto, no lo refleja, y los resultados no se ordenan en base a ese nuevo orden.
Si el post lleva varios días abierto y se escribe sobre él, mi intención es que aparezca el primero de la lista, pero permanecen ordenados por el primer comentario realizado en él y no entiendo el por qué.
Quizás es un error en la consulta por el ORDER BY, pero no alcanzo a ver donde está el problema, o si por el contrario pudiese filtrar primero el array de resultados y por tanto hacer foreach al array filtrado tampoco sería un problema, pero no se me ocurre cómo...
Si alguien puede ayudarme se lo agradezco mucho. De todas maneras gracias por haber leído mi consulta.
Muchas gracias de antemano a todos.