I commenti di Discourse non si riflettono sul blog WordPress (versione 2025)

Continuando la discussione da I commenti di Discourse non vengono riflessi sul blog di Wordpress:

Ciao. Ho installato una copia fresca di Discourse 3.4.0 (4abee26a32) e WordPress 6.7.2 sul mio PC locale per testare e non riesco a far sincronizzare i commenti da Discourse a WordPress (anche se il post iniziale si sincronizza da WordPress a Discourse). Il mio problema sembra essere molto simile al report molto più vecchio collegato sopra. Potrebbe essere una regressione?

Ho abilitato tutti i log, ma questo è tutto ciò che vedo nei log della mia istanza di WordPress:

[2025-02-26 21:24:55] connection.INFO: check_connection_status.successful_connection  
[2025-02-26 21:24:55] connection.INFO: check_connection_status.valid_scopes  
[2025-02-26 21:28:49] publish.INFO: create_post.post_success {"wp_title":"This is a test","wp_author_id":"1","wp_post_id":7} 
[2025-02-26 21:28:49] publish.INFO: create_post.body_valid {"wp_title":"This is a test","wp_author_id":"1","wp_post_id":7} 
[2025-02-26 21:28:49] publish.INFO: create_post.after_publish {"post_id":7,"remote_post_type":"create_post","discourse_post_id":"34","discourse_topic_id":"16","discourse_permalink":"https://discourse.cs.siue.edu/t/this-is-a-test/16"} 
[2025-02-26 21:28:49] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"7"} 
[2025-02-26 21:29:27] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"7"} 
[2025-02-26 21:53:39] webhook_topic.INFO: update_topic_content.update_post_metadata_success {"post_ids":"7"} 

E questo è tutto ciò che vedo nella sezione commenti del mio post di WordPress:

Il conteggio delle risposte si incrementa immediatamente, ma non vedo i commenti effettivi. Non vedo nemmeno errori nei log di sistema in /var/log/php-fpm/www-error.log.

Qualcuno ha qualche idea su cosa potrebbe causare questo problema o su come procedere per il debug? Grazie.

Ciao @Gregory_Bartholomew, posso garantirti che non si tratta di una regressione. Analizziamo cosa nella tua configurazione locale potrebbe causare questo problema.

  1. Quale tema stai usando?
  2. È un tema abilitato ai blocchi?
  3. Hai personalizzato il tema?
  4. Quali impostazioni hai abilitato per il plugin WP Discourse (forse condividi il file meta dai log).

A un certo punto, mantenere abilitati i commenti di WordPress ha fatto esattamente questo. È successo almeno un anno fa e non ho mai verificato se quel comportamento sia cambiato o se fosse una questione dipendente dal tema.

Se stai riscontrando un problema simile, possiamo indagare in parallelo. Sei in grado di condividere le risposte alle stesse domande?

Potrei, ma non è stato un problema dopo aver disabilitato i commenti di WordPress. Il problema dell’OP è che i commenti di WordPress sovrastano Discourse. E ci può essere anche una soluzione facile: quel post non viene mai collegato a Discourse :smirking_face:

Capisco. Penso che il tuo problema potrebbe essere stato diverso da quello di @Gregory_Bartholomew. Vediamo se riusciamo a ottenere alcune specificità sulla sua configurazione e ad arrivare al fondo del suo problema. Ogni problema deve essere trattato in modo nuovo.

Beh, non ho problemi in corso, perché in nessuna situazione consento i commenti nativi di Wordpress. Discourse se ne occupa in modo del tutto gradevole. I miei pensieri erano solo una debole idea di soluzione, e portano a problemi di configurazione :man_shrugging:

Stai dicendo che devo disabilitare il sistema di commenti integrato di WordPress in qualche modo?


Attualmente è il tema predefinito twentytwentyfive.

Sì, lo è. Inoltre (ma probabilmente non correlato), c’era un piccolo bug nel tema predefinito che mi ha richiesto di caricare e salvare nuovamente il file index.html. Il problema e la soluzione sono documentati qui.

A parte la soluzione di cui sopra per correggere un problema apparentemente non correlato, no, non ho apportato alcuna personalizzazione al tema.

Certo, ecco l’output meta dalla pagina dei log.

### Questo file è incluso nei download dei log ###

### Server ###

WordPress - 6.7.2
PHP - 8.3.17
MySQL - 10.11.10

### Plugin Attivi ###

Fedora SSR Endpoint - 1.3.0
WP-Discourse - 2.5.6

### Impostazioni WP Discourse (Segreti Esclusi) ###

connection-logs - 1
display-subcategories - 0
allow-tags - 0
max-tags - 5
publish-as-unlisted - 0
full-post-content - 0
custom-excerpt-length - 55
add-featured-link - 0
auto-publish - 1
force-publish - 0
force-publish-max-age - 0
publish-failure-notice - 0
auto-track - 1
allowed_post_types - post
exclude_tags -
hide-discourse-name-field - 0
discourse-username-editable - 0
direct-db-publication-flags - 0
verbose-publication-logs - 1
enable-discourse-comments - 1
comment-type - display-comments
ajax-load - 0
load-comment-css - 0
discourse-new-tab - 0
hide-wordpress-comments - 0
show-existing-comments - 0
max-comments - 5
min-replies - 1
min-score - 0
min-trust-level - 1
bypass-trust-level-score - 50
only-show-moderator-liked - 0
custom-datetime-format -
cache-html - 0
clear-cached-comment-html - 0
verbose-comment-logs - 1
use-discourse-webhook - 1
webhook-match-old-topics - 0
use-discourse-user-webhook - 0
webhook-match-user-email - 0
verbose-webhook-logs - 1
enable-sso - 0
auto-create-sso-user - 0
real-name-as-discourse-name - 0
force-avatar-update - 0
redirect-without-login - 0
sso-client-enabled - 0
sso-client-login-form-change - 0
sso-client-sync-by-email - 0
sso-client-disable-create-user - 0
sso-client-sync-logout - 0
logs-enabled - 1

Una leggera inesattezza che noto nell’output meta è che non sto usando “MySQL” ma il suo fork “MariaDB” (mariadb-server-10.11.10-1.fc41.x86_64). Inoltre, ho installato il pacchetto php-mysqlnd (php-mysqlnd-8.3.17-1.fc41.x86_64).

Grazie per i dettagli @Gregory_Bartholomew. Dato che si tratta di un tema con blocchi abilitati, hai provato il WP Discourse Comments Block?

Sì, ho visto quel video e ho già abilitato la casella di controllo in alto:

image

Quindi, solo per confermare, sei andato su Aspetto > Editor, hai aperto il Modello post singolo e aggiunto il blocco WP Discourse al modello?

No, non ricordo di aver fatto nulla del genere. Suppongo di essermelo perso nel video. Ci proverò ora. Grazie!

1 Mi Piace

Beh, sembrava promettente, ma quando ho cliccato su “visualizza sito” per tornare alla pagina principale dell’indice, si è bloccato. :confused:

Dal log di php-fpm:

[27-Feb-2025 15:21:37 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function WPDiscourse\\Shared\\mb_convert_encoding() in /wordpress/wp-content/plugins/wp-discourse/lib/template-functions.php:335
Stack trace:
#0 /wordpress/wp-content/plugins/wp-discourse/lib/discourse-comment-formatter.php(136): WPDiscourse\\DiscourseCommentFormatter\\DiscourseCommentFormatter->fix_avatars_in_quotes()
#1 /wordpress/wp-content/plugins/wp-discourse/lib/discourse-comment.php(312): WPDiscourse\\DiscourseCommentFormatter\\DiscourseCommentFormatter->format()
#2 /wordpress/wp-content/plugins/wp-discourse/blocks/comments/comments.php(34): WPDiscourse\\DiscourseComment\\DiscourseComment->comments_template()
#3 /wordpress/wp-includes/class-wp-block.php(537): render_block_wpdc_comments()
#4 /wordpress/wp-includes/class-wp-block.php(517): WP_Block->render()
#5 /wordpress/wp-includes/class-wp-block.php(517): WP_Block->render()
#6 /wordpress/wp-includes/blocks/post-template.php(123): WP_Block->render()
#7 /wordpress/wp-includes/class-wp-block.php(537): render_block_core_post_template()
#8 /wordpress/wp-includes/class-wp-block.php(517): WP_Block->render()
#9 /wordpress/wp-includes/class-wp-block.php(517): WP_Block->render()
#10 /wordpress/wp-includes/blocks.php(2191): WP_Block->render()
#11 /wordpress/wp-includes/blocks.php(2243): render_block()
#12 /wordpress/wp-includes/block-template.php(263): do_blocks()
#13 /wordpress/wp-includes/template-canvas.php(12): get_the_block_template_html()
#14 /wordpress/wp-includes/template-loader.php(106): include('...')
#15 /wordpress/wp-blog-header.php(19): require_once('...')
#16 /wordpress/index.php(17): require('...')
#17 {main}
  thrown in /wordpress/wp-content/plugins/wp-discourse/lib/template-functions.php on line 335

Modifica 1: Dice funzione non definita mb_convert_encoding(). Forse devo solo installare un pacchetto PHP mancante?

Modifica 2: Sì, era solo quello. Dovevo installare php-mbstring. Ora sembra che tutto funzioni. Grazie!

Un piccolo problema che vedo ancora è che le emoji e gli avatar non sembrano essere visualizzati:

Immagino di dover ancora configurare qualcosa?

Dal lato Discourse, il mio avatar è solo la lettera predefinita in un cerchio:

Inoltre, anche l’emoji non sembra essere visualizzata correttamente dal lato Discourse, ma sono meno preoccupato per questo perché non gestisco l’istanza Discourse di produzione che spero di utilizzare in futuro. :slightly_smiling_face:

Modifica: Lascia perdere il problema degli avatar. Sembra che possa essere almeno in parte dovuto al modo in cui è configurato il mio ambiente. Sto puntando WordPress alla porta 3000, ma gli avatar si risolvono in http://localhost:4200/letter_avatar_proxy/v4/letter/.... Probabilmente li disabiliterò comunque.

Sono contento che tu sia riuscito a farlo funzionare!

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.