Obtener todos los comentarios/reseñas de WooCommerce

31 oct 2013, 12:08:54
Vistas: 15.7K
Votos: 0

Lo que necesito lograr es obtener todos los comentarios de todos los productos en WooCommerce.

Esto no me devuelve NINGÚN comentario...

<?php $comments = get_comments( array( 'post_type' => 'product') ); ?>

Sin embargo

<?php $comments = get_comments( array( 'post_id' => '4169') );

Me devuelve los comentarios para un ID de producto específico. ¿Cómo consultar TODOS los comentarios?

Gracias de antemano.

0
Todas las respuestas a la pregunta 3
10

Por favor prueba esto:

 $args = array( 
                'number'      => 100, 
                'status'      => 'approve', 
                'post_status' => 'publish', 
                'post_type'   => 'product' 
        );

 $comments = get_comments( $args );

donde puedes editar el número de comentarios según tus necesidades.

Depuración:

¿Quizás algo lo está modificando mediante el hook pre_get_comments?

Para depurarlo puedes revisar la consulta SQL con:

 global $wpdb;
 printf( '<pre>%s</pre>', $wpdb->last_query );

donde agregas esto directamente debajo del fragmento de código get_comments() anterior.

También revisa la pantalla edit-comments.php para ver si los comentarios aparecen allí y su estado.

31 oct 2013 13:12:10
Comentarios

Sigue mostrando 0 resultados...

kroma kroma
31 oct 2013 13:33:41

¿Y el widget de WC Reseñas Recientes también muestra una lista vacía?

birgire birgire
31 oct 2013 13:47:46

Siempre lo hago de esta manera y funciona, es como lo hace el widget. El problema debe ser otra cosa. @kroma

Nicolai Grossherr Nicolai Grossherr
31 oct 2013 13:49:53

Aquí está el código fuente de ese widget

birgire birgire
31 oct 2013 13:52:19

Sí, ahora veo que WC Recent Reviews tampoco muestra resultados... ¿alguna idea?

kroma kroma
31 oct 2013 14:39:16

Por cierto, ¿las reseñas de WooCommerce deberían aparecer también en la sección nativa de Comentarios en el admin de WP?

kroma kroma
31 oct 2013 14:40:48

Por favor revisa la respuesta actualizada.

birgire birgire
31 oct 2013 15:39:54

¿Podrías compartir la consulta SQL? ¿Viste los comentarios en la pantalla edit-comments.php?

birgire birgire
31 oct 2013 18:49:46

@birgire - gracias por la depuración. Descubrí que WPML estaba causando problemas - Los Productos no estaban marcados como traducibles. Después de marcarlos como traducibles funciona correctamente. +1

kroma kroma
1 nov 2013 11:42:35

genial escuchar que está resuelto, gracias por compartir la causa del problema.

birgire birgire
1 nov 2013 11:50:57
Mostrar los 5 comentarios restantes
0

Necesitarás recorrer todos los comentarios y mostrarlos. Algo como esto hará el trabajo:

        $args = array( 
            'status'      => 'approve', 
            'post_status' => 'publish', 
            'post_type'   => 'product' 
        );

        $comments = get_comments( $args );

        foreach( $comments as $comment ) :
            echo( $comment->comment_author . '<br />' . $comment->comment_content);
        endforeach; 

También puedes pasar el parámetro 'number' si quieres especificar cuántos comentarios mostrar. Por defecto es null (sin límite).

28 nov 2018 17:05:51
0

Woocommerce anula las consultas de comentarios, lo que parece afectar a WC_Comment_Query y get_comments(), al filtrar directamente los comentarios de la tienda en el SQL.

Al agregar lo siguiente antes de usar WC_Comment_Query, se evitó que los comentarios de la tienda fueran excluidos en mi consulta.

remove_filter('comments_clauses', array( 'WC_Comments' ,'exclude_order_comments'), 10, 1 );
10 jul 2015 09:38:34