Video de Wistia mostrando imagen en posts incrustados de Discourse

Gracias por preguntar al respecto. Al investigar el problema, me encontré con un problema con la forma en que el plugin de Discourse para WordPress maneja las incrustaciones de YouTube y Vimeo. La solución para ese problema también podría resolver el problema de mostrar videos de Wistia para temas que se publican desde WordPress.

Supongo que estás publicando las publicaciones de WordPress en Discourse con el plugin WP Discourse y que has habilitado la opción “Usar contenido completo de la publicación” que se encuentra en la pestaña de opciones de publicación de WP Discourse. También supongo que estás utilizando el editor de bloques de WordPress y no el editor clásico. Avísame si eso no es correcto.

Si así es como estás publicando las publicaciones de WordPress en Discourse, ¿cómo estás agregando los videos de Wistia a las publicaciones de WordPress? ¿Estás usando el enlace “compartir” o estás usando el código de incrustación del video para agregar los videos? Creo que será posible hacer que esto funcione si se usa el enlace “compartir”, pero no si se usa el código de incrustación.

Para mi propia referencia, el problema con los videos de YouTube y Vimeo está aquí:

Cuando se agregó este código al plugin, los bloques de video de WordPress se nombraron según el proveedor de video. Por ejemplo, core-embed/youtube. WordPress ahora parece usar el nombre core/embed para los bloques de video y especifica el proveedor con el atributo providerNameSlug. Por ejemplo:

[blockName] => core/embed
[attrs] => Array
    (
        [url] => https://scossar3.wistia.com/medias/qtp20hbz4i
        [type] => video
        [providerNameSlug] => wistia-inc
    )

El siguiente cambio en https://github.com/discourse/wp-discourse/blob/main/lib/discourse-publish.php#L284C17-L284C35 soluciona el problema con los videos de YouTube y Vimeo y también permite que los videos de Wistia se publiquen en Discourse:

( 'core-embed/youtube' === $block['blockName'] || 'core-embed/vimeo' === $block['blockName'] || 'core/embed' === $block['blockName'] )

Solo he realizado el cambio en mi sitio de desarrollo local. Lo revisaré un poco más y veré si esta solución se puede agregar al código del plugin WP Discourse.