Sto riscontrando un problema con il plugin Discourse per WordPress quando tento di pubblicare un post di WordPress su Discourse.
Descrizione del problema:
Quando creo un nuovo post sul mio sito WordPress e seleziono l’opzione “Pubblica su Discourse” nella scheda Discourse prima di pubblicare, il post viene pubblicato con successo su WordPress. Tuttavia, l’argomento Discourse non viene creato in quel momento.
Successivamente, se modifico lo stesso post e torno alla scheda Discourse, quindi faccio clic su “Nuovo argomento” e pubblico su Discourse, il post viene creato sul sito Discourse. Ma questo argomento Discourse non è collegato al post originale di WordPress. Non c’è alcuna associazione di permalink o metadati salvati nel post.
Risultati del debug:
Durante il debug, ho notato che la chiamata a: /wp-json/wp-discourse/v1/publish-topic
Come puoi vedere, il campo “permalink” è vuoto. Questo sembra essere il motivo principale per cui l’argomento Discourse viene creato ma non collegato al post di WordPress (ovvero, il permalink non viene memorizzato nel postmeta, quindi il collegamento tra WP e Discourse è interrotto).
Potresti aiutarmi a indagare sul motivo per cui il permalink restituisce vuoto nella risposta dell’API? C’è una errata configurazione del plugin o un bug nel flusso di pubblicazione?
Fammi sapere se hai bisogno di log o ulteriori informazioni. Apprezzo il tuo aiuto!
Ciao @techops, potresti per favore condividere i log pertinenti da WP Discourse > Log in WordPress. Per favore, condividi anche il file meta da quella vista, se possibile.
Grazie per aver condiviso questo. Quei log sembrano normali per me. Vedo che viene creato un argomento Discourse dopo la pubblicazione di un post in Wordpress. Potresti confermare esattamente qual è il problema? Per favore, descrivilo in questi termini:
Componi un post in Wordpress.
Dopo la pubblicazione del post, mi aspetto di vedere…
Tenta di non fare assunzioni tecniche in questa fase. Grazie!
Ciao Angus,
Ho composto un post in WordPress.
Dopo la pubblicazione del post, mi aspetto di vedere il seguente comportamento:
Quando la casella di controllo sotto ‘Pubblica su Discourse’ è selezionata, il comportamento corretto è che venga creato un post in Discourse e che questo sia collegato al post in WordPress.
Tuttavia, ciò che accade in realtà è che il post viene creato in Discourse, ma il collegamento viene immediatamente perso. Deve quindi essere ricreato manualmente.
Quale compositore di post di Wordpress stai usando? Classic o Gutenberg? Questi post vengono creati in modo non standard (ad esempio, vedo che utilizzi “Gravity Forms Advanced Post Creation”)
Puoi condividere un esempio di post di Wordpress e un argomento di Discourse in cui si verifica questo problema?
Stai usando qualche plugin che modifica i campi meta di Wordpress (ad esempio, Advanced Custom Fields)?
Stiamo utilizzando l’editor Gutenberg per creare i post.
Non stiamo utilizzando alcun plugin per campi personalizzati come Advanced Custom Fields.
Ho registrato un video che replica il problema per la tua revisione. Puoi trovarlo qui.
Fammi sapere se hai bisogno di ulteriori informazioni o di ulteriori test.
Se può essere d’aiuto, posso anche fornire accesso temporaneo in modo che tu possa esplorare la configurazione direttamente.
È in grado di provare a pubblicare post senza questo flusso di lavoro personalizzato? Il modo in cui arriveremo al fondo di questo è un processo di eliminazione. È probabile che una delle tue personalizzazioni non sia interoperabile con il set di funzionalità di pubblicazione di WP Discourse.
Grazie per il suggerimento.
Ho testato la pubblicazione diretta dei post senza utilizzare il flusso di lavoro personalizzato, ma sfortunatamente non funziona ancora.
Ok, per favore continua in quella direzione. Una delle tue personalizzazioni sta probabilmente impedendo al plugin WP Discourse di salvare il post_id e il permalink quando un argomento viene pubblicato.
Ho identificato il colpevole, il plugin SmartCrawl SEO entra in conflitto con WP Discourse. Dopo aver disattivato SmartCrawl, i post vengono pubblicati su Discourse come previsto e si collegano correttamente agli articoli di WordPress.
Ben fatto a trovare il colpevole. Penso che a questo punto potrebbe essere utile riferirlo al loro team di supporto, cioè “Il tuo plugin sembra impedire a un altro plugin di usare le API standard di WordPress…” e poi descrivere il problema. Puoi forse indirizzarli a questo argomento.