Ottenere tutti i commenti/recensioni di WooCommerce

31 ott 2013, 12:08:54
Visualizzazioni: 15.7K
Voti: 0

Quello che devo ottenere è recuperare tutti i commenti di tutti i prodotti in WooCommerce.

Questo non mi restituisce NESSUN commento...

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

Tuttavia

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

Mi restituisce i commenti per un ID prodotto specifico. Come posso interrogare TUTTI i commenti?

Grazie in anticipo.

0
Tutte le risposte alla domanda 3
10

Prova questo:

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

 $comments = get_comments( $args );

dove puoi modificare il numero di commenti in base alle tue esigenze.

Debug:

Forse qualcosa lo sta modificando tramite l'hook pre_get_comments?

Per debug puoi controllare la query SQL con:

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

dove aggiungi questo direttamente sotto lo snippet di codice get_comments() sopra.

Controlla anche la schermata edit-comments.php per vedere se i commenti compaiono lì e il loro stato.

31 ott 2013 13:12:10
Commenti

Ancora 0 risultati...

kroma kroma
31 ott 2013 13:33:41

E il widget WC Recensioni recenti mostra anche una lista vuota?

birgire birgire
31 ott 2013 13:47:46

Lo faccio sempre così e funziona, è come se lo facesse il widget. Il problema deve essere qualcos'altro. @kroma

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

Qui trovi il sorgente di quel widget

birgire birgire
31 ott 2013 13:52:19

Sì ora vedo che anche WC Recent Reviews non mostra risultati... qualche idea?

kroma kroma
31 ott 2013 14:39:16

a proposito, le recensioni di woocommerce dovrebbero apparire anche nella sezione Commenti nativa nell'admin di WP?

kroma kroma
31 ott 2013 14:40:48

Per favore controlla la risposta aggiornata.

birgire birgire
31 ott 2013 15:39:54

Forse puoi condividere la query SQL? Hai visto i commenti nella schermata edit-comments.php?

birgire birgire
31 ott 2013 18:49:46

@birgire - grazie per il debug. Ho scoperto che WPML causava problemi - I prodotti non erano impostati come traducibili. Dopo averli resi traducibili funziona tutto bene. +1

kroma kroma
1 nov 2013 11:42:35

ottimo sapere che è stato risolto, grazie per aver condiviso la causa del problema.

birgire birgire
1 nov 2013 11:50:57
Mostra i restanti 5 commenti
0

Dovrai scorrere tutti i commenti e visualizzarli. Qualcosa come questo farà al caso tuo:

        $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; 

Puoi anche passare il parametro 'number' se vuoi specificare quanti commenti mostrare. Il valore predefinito è null (nessun limite).

28 nov 2018 17:05:51
0

WooCommerce sovrascrive le query dei commenti, cosa che sembra influenzare WC_Comment_Query e get_comments(), filtrando direttamente i commenti del negozio nell'SQL.

Aggiungere il codice seguente prima di utilizzare WC_Comment_Query ha impedito che i commenti del negozio venissero esclusi dalla mia query.

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