Vídeo Wistia mostrando imagem em posts incorporados do Discourse

Olá,
Integrei posts do WordPress no Discourse. Em um dos posts, adicionei um vídeo do Wistia. Ele está funcionando bem nos posts do WP, mas no Discourse, está mostrando apenas a imagem. O vídeo não está sendo exibido e, em vez disso, uma imagem está sendo carregada.

Alguém pode me orientar sobre isso?

1 curtida

Obrigado por perguntar sobre isso. Ao investigar o problema, deparei-me com um problema na forma como o plugin Discourse WordPress está a lidar com embeds do YouTube e Vimeo. A correção para esse problema pode também resolver o problema de exibição de vídeos Wistia para tópicos publicados a partir do WordPress.

Assumo que você está a publicar as postagens do WordPress para o Discourse com o plugin WP Discourse e que ativou a opção “Usar Conteúdo Completo da Postagem” que se encontra na aba de opções de Publicação do WP Discourse. Assumo também que você está a usar o editor de blocos do WordPress e não o editor Clássico. Informe-me se isso não estiver correto.

Se é assim que você está a publicar as postagens do WordPress para o Discourse, como você está a adicionar os vídeos Wistia às postagens do WordPress? Você está a usar o link “compartilhar” ou está a usar o código de incorporação do vídeo para adicionar os vídeos? Acho que será possível fazer isso funcionar se o link “compartilhar” for usado, mas não se o código de incorporação for usado.

Para minha própria referência, o problema com os vídeos do YouTube e Vimeo está aqui:

Quando este código foi adicionado ao plugin, os blocos de vídeo do WordPress foram nomeados com base no provedor de vídeo. Por exemplo, core-embed/youtube. O WordPress agora parece usar o nome core/embed para blocos de vídeo e especificar o provedor com o atributo providerNameSlug. Por exemplo:

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

A seguinte alteração em https://github.com/discourse/wp-discourse/blob/main/lib/discourse-publish.php#L284C17-L284C35 corrige o problema com os vídeos do YouTube e Vimeo e também permite que os vídeos Wistia sejam publicados no Discourse:

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

Eu fiz a alteração apenas no meu site de desenvolvimento local. Vou analisar mais um pouco e ver se essa correção pode ser adicionada ao código do plugin WP Discourse.

3 curtidas

Olá @cyriac15, você pode compartilhar um exemplo desse problema no seu Wordpress e Discourse?

Olá @simon .. Obrigado pela resposta…
Sim… estou publicando os posts do WordPress no Discourse com o plugin WP Discourse. Mas não ativei a opção “Usar Conteúdo Completo do Post”, pois estou usando shortcodes no editor do WP.
Atualmente estou usando o editor clássico do WP..
Estou usando o código de incorporação do Wistia no editor do WP para adicionar vídeo.

Tentei a solução que você mencionou, mas não fez nenhuma alteração..

1 curtida

Olá @angus ..
Estou publicando uma postagem do Wordpress usando o plugin WP Discourse.
Os códigos de incorporação do Wistia não estão aparecendo no fórum Discourse. Por favor, encontre este link..

A imagem marcada na captura de tela é um código de incorporação, mas está sendo exibida como uma imagem.

Estou usando links de incorporação no editor do wp..

Essa é uma questão mais difícil de resolver. Atualmente, todos os iframes estão sendo removidos pelo Discourse quando uma postagem é exibida no Discourse após um usuário clicar no botão “Mostrar Postagem Completa”. Isso significa que vídeos de qualquer fonte falharão em aparecer no tópico. Seria ótimo se isso pudesse funcionar. Sei que já foi solicitado algumas vezes.

O motivo pelo qual isso está acontecendo é porque o botão “Mostrar Postagem Completa” em uma postagem incorporada no Discourse funciona “re-rastreando” a página da web incorporada quando o usuário clica nele. O HTML que você vê quando clica nesse botão não está sendo enviado pelo plugin WP Discourse quando a postagem é publicada, é uma nova rastreagem da página relevante.

A rastreagem da web é sempre um pouco imprevisível devido à grande variedade de estruturas HTML possíveis (por exemplo, existem muitas maneiras diferentes de exibir imagens em HTML). Por causa disso, este é um recurso que está sendo considerado para uma possível melhoria. Veja mais em

Portanto, não há uma solução fácil no momento. Você pode tentar bloquear e permitir seletores de HTML que o rastreador usa, no entanto, isso é algo complicado de fazer funcionar da maneira que você deseja. Veja mais em

Uma maneira mais simples de resolver isso é ocultar o botão “Mostrar Postagem Completa” ou substituí-lo para que ele volte para a postagem original do WordPress, usando um componente de tema personalizado. Quando um site tem uma estrutura HTML de postagem relativamente complexa envolvendo imagens, como a sua, eu costumo aconselhar essas últimas opções.

1 curtida