Tengo una publicación existente en WordPress que antes también se publicaba en el foro.
En algún momento, cada vez que actualizo la publicación haciendo clic en el enlace guardar, recibo un correo electrónico con el siguiente mensaje de error:
Fallo en la publicación de Discourse
No se ha podido publicar una publicación en Discourse desde tu sitio ...
...
Motivo del fallo:
Se recibió una respuesta incorrecta de Discourse.
Embed url wird bereits verwendet (se traduce como "ya se está utilizando")
Desvinculé la publicación de Discourse. También eliminé la publicación en el foro. Sin embargo, el error sigue apareciendo cada vez que guardo la publicación. Además, al intentar publicar la publicación como un nuevo tema, aparece el mismo error.
Hubo un error en el plugin que provocaba que intentara volver a publicar publicaciones en Discourse después de que se hubieran desvinculado en WordPress, cuando la configuración de Publicación automática está activada y las publicaciones se publican con el Editor de bloques. La publicación en Discourse fallaba porque la URL de incrustación ya estaba en uso en Discourse. Corregí este problema ayer, pero la solución solo se aplica a las publicaciones desvinculadas recientemente. Desarrollaré una solución que pueda corregir el problema para las publicaciones que se desvincularon en el pasado.
Cuando se desvinculan las publicaciones, el plugin no elimina el embed_url del tema en Discourse. Esto significa que si una publicación se desvincula y luego se vuelve a publicar en Discourse, la publicación fallará con el error “La URL de incrustación ya está en uso”. Corregiré esto.
Si has eliminado el tema asociado en Discourse, debería ser posible volver a publicar la publicación en Discourse sin errores. Verificaré que el embed_url se elimine en Discourse cuando se elimine un tema.
Actualizaré el plugin más adelante esta semana o en algún momento durante el fin de semana. Esa actualización debería resolver los problemas que estás experimentando con las publicaciones desvinculadas.
Para evitar que aparezca el mensaje de error cuando se actualiza en WordPress una publicación que has desvinculado de Discourse, agrega un campo personalizado a la publicación con el nombre wpdc_auto_publish_overridden y establece su valor en 1.
Acabo de subir la versión 2.0.4 de WP Discourse al repositorio de WordPress. Esta versión solucionará el problema con las publicaciones que se desvincularon de Discourse cuando el sitio usaba una versión del plugin anterior a 2.0.3. Para estas publicaciones, la primera vez que actualices una publicación desvincularás verás el mensaje de error «Embed url has already been taken» (La URL de incrustación ya está en uso). Tras la actualización inicial, ya no verás el mensaje de error (ni recibirás el correo electrónico de error de publicación). No es una solución perfecta, pero es la mejor manera de resolver ese problema.
Si intentas publicar una publicación en Discourse cuando ya existe un tema en Discourse que está utilizando su URL de incrustación, obtendrás un error. Si eliminas el tema en Discourse que está utilizando la URL de incrustación, deberías poder volver a publicar el tema. A Discourse le lleva cierto tiempo eliminar el «Topic Embed» asociado a la publicación de WordPress. Aún necesito confirmar qué determina ese período de tiempo. Avísame si sigues teniendo problemas con esto.
Idealmente, cuando una publicación de WordPress se desvincula de un tema de Discourse, la embed_url asociada a la publicación debería eliminarse en Discourse. Lamentablemente, actualmente no es posible eliminar la embed_url de un tema a través de la API de Discourse. Podría ser posible lograrlo en el futuro. Un cambio menor que sería útil para el plugin WP Discourse sería que Discourse devolviera el topic_id cuando devuelve el mensaje de error «Embed url has already been taken». De esta manera, el plugin WP Discourse podría informar a los usuarios qué tema en Discourse está causando el problema.