Come debuggare un post su WP con il numero di commenti errato

Ho appena notato un post sul nostro sito WP che appariva senza commenti, ma sapevo che ne aveva ricevuto uno su Discourse. Ne ho lasciato un altro su quell’argomento, ma anche questo non è apparso. Tuttavia, altri post ricevono commenti senza problemi. Non riesco a vedere nulla di strano o particolare in quel post.

C’è qualcosa che posso fare per risolvere il problema?

Assicurati che i commenti sul post soddisfino i criteri impostati nella scheda Opzioni commenti del plugin. Se sembra che i commenti dei post dovrebbero essere importati su WordPress, puoi risolvere il problema attivando l’opzione di visualizzazione ‘Campi personalizzati’ per i post sul tuo sito:

Una volta fatto, vedrai un elenco dei metadati del post nella parte inferiore della schermata di modifica. Assicurati che i campi discourse_permalink e discourse_topic_id corrispondano all’argomento Discourse associato. Se questi campi non sono presenti, è possibile che il post sia stato scollegato da Discourse. Puoi ricollegare un post scollegato selezionando l’input radio ‘Collega a un argomento esistente’ dalla casella di metadati Discourse.

Grazie,

La cosa si fa ancora più strana. Ho appena visto arrivare un commento su un post appena creato. La home page del nostro sito WP ha immediatamente mostrato un commento su quel post. Finora, tutto bene. Poi, cliccando sul post, le informazioni in alto indicavano la presenza di un commento.

Ho cliccato sul numero dei commenti per scorrere fino alla posizione appropriata nella pagina, ma invece di dire “Partecipa alla discussione” c’era scritto “Inizia la discussione”. (In realtà non mostriamo i commenti, solo il loro numero e il link alla nostra istanza di Discourse.) Ho pensato che un aggiornamento della pagina avrebbe risolto il problema, ma invece, dopo aver ricaricato la pagina, tornava a indicare zero commenti. Anche la home page si è aggiornata nuovamente a zero.

Ho controllato i campi discourse_topic_id e discourse_permalink e sono entrambi corretti. Gli altri campi di Discourse, però, non hanno molto senso per me.

discourse_comments_count riporta ‘0’

Questo è il contenuto di discourse_comments_raw:

{"id":1399,"posts_count":2,"filtered_posts_count":0,"posts":[],"participants":[{"id":11,"username":"nathan","name":"Nathan ","avatar_template":"https://www.ourdiscourse.com/user_avatar/www.ourdiscourse.com/nathan/{size}/182_2.png"},{"id":103,"username":"Zak","name":"Zak","avatar_template":"https://www.ourdiscourse.com/user_avatar/www.ourdiscourse.com/zak/{size}/652_2.png"}]}

Inoltre, non riesco a capire cosa dovrebbe rappresentare discourse_post_id. Guardando solo il numero di 4 cifre che contiene, mi sarei aspettato che fosse l’ID del post di WP, ma non lo è. Cosa dovrebbe essere?

Se il tuo argomento su Discourse è pubblico, puoi inviarmi un link ad esso in un messaggio privato?

Hai attivato l’opzione “Pubblica come argomenti non elencati” di WP Discourse? La differenza tra posts_count e filtered_posts_count nei metadati di discourse_comments_raw suggerisce che ci siano due piccoli post di azione nell’argomento. C’è un problema con la funzione di aggiornamento del webhook di WP Discourse quando c’è una discrepanza tra posts_count e filtered_posts_count. Questo è qualcosa che affronterò, ma non credo sia correlato al problema che hai con un post che non riceve commenti.

Per quanto riguarda il problema del post che non riceve commenti, intendi che il link al suo argomento su Discourse non viene visualizzato, o il problema è che il link mostra “avvia la discussione” invece di “partecipa alla discussione”?

Esatto.

Ha senso se il numero dei commenti è zero. Non preoccuparti per quello. È solo ciò che mi ha colpito e mi ha spinto a ricaricare la pagina, notando che il conteggio scendeva di nuovo a zero.

Oh, e per rispondere alla tua domanda…

No.

Qual è il valore corretto del campo “wpdc_sync_post_comments”?

Sto ancora lottando con questo problema.

Sono appena andato su un argomento che aveva un solo post. Il conteggio dei commenti nel front-end di WP dovrebbe essere “1”, ma mostrava 0. wpdc_sync_post_comments era impostato su “0”. Presumo che sia un flag V/F e che dovrebbe essere impostato su 1, quindi l’ho modificato e salvato il post. Aggiornando il front-end di WP non ho visto cambiamenti, quindi ho lasciato un nuovo post sull’argomento Discourse e ho aggiornato immediatamente la pagina WP. Il conteggio dei commenti è salito correttamente a “2”. Ho aggiornato immediatamente la pagina di nuovo ed è sceso di nuovo a “0”! Nella schermata di modifica, ho scoperto che wpdc_sync_post_comments era stato reimpostato su 0 e

discourse_comments_count == 0
discourse_comments_raw ===
{"id":1451,"posts_count":3,"filtered_posts_count":1,"posts":[],"participants":[ (trunc)

Un altro post ha quanto segue:
discourse_comments_count == 3
discourse_comments_raw ===
{"id":1447,"posts_count":17,"filtered_posts_count":4,"posts":[],"participants": (trunc)

Grazie per i dettagli!

Quando il campo è impostato su 1, i commenti verranno sincronizzati la prossima volta che la pagina viene caricata. Una volta sincronizzati i commenti, il valore di wpdc_sync_post_comments verrà reimpostato a 0.

Dall’analisi dei metadati che hai condiviso, sembra che il plugin sottragga 1 dal numero dei commenti quando non dovrebbe. Sono stato in viaggio per gli ultimi due giorni. Lo esaminerò attentamente quando tornerò al lavoro domani.