Vidéo Wistia montrant une image dans les publications intégrées de discourse

Salut,
J’ai intégré des articles WordPress dans Discourse. Dans l’un des articles, j’ai ajouté une vidéo Wistia. Cela fonctionne bien dans les articles WP, mais dans Discourse, seule l’image s’affiche. La vidéo ne s’affiche pas et une image est chargée à la place.

Quelqu’un peut-il me guider à ce sujet ?

1 « J'aime »

Merci de vous renseigner à ce sujet. En examinant le problème, j’ai découvert un problème avec la façon dont le plugin Discourse WordPress gère les intégrations YouTube et Vimeo. La correction de ce problème pourrait également résoudre le problème d’affichage des vidéos Wistia pour les sujets publiés depuis WordPress.

Je suppose que vous publiez les articles depuis WordPress vers Discourse avec le plugin WP Discourse et que vous avez activé l’option « Utiliser le contenu complet de l’article » qui se trouve dans l’onglet Options de publication de WP Discourse. Je suppose également que vous utilisez l’éditeur de blocs WordPress et non l’éditeur classique. Faites-moi savoir si ce n’est pas correct.

Si c’est ainsi que vous publiez les articles WordPress sur Discourse, comment ajoutez-vous les vidéos Wistia aux articles WordPress ? Utilisez-vous le lien « partager » ou utilisez-vous le code d’intégration de la vidéo pour ajouter les vidéos ? Je pense qu’il sera possible de faire fonctionner cela si le lien « partager » est utilisé, mais pas si le code d’intégration est utilisé.

Pour ma propre référence, le problème avec les vidéos YouTube et Vimeo se trouve ici :

Lorsque ce code a été ajouté au plugin, les blocs vidéo WordPress étaient nommés en fonction du fournisseur de vidéo. Par exemple core-embed/youtube. WordPress semble maintenant utiliser le nom core/embed pour les blocs vidéo et spécifier le fournisseur avec l’attribut providerNameSlug. Par exemple :

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

La modification suivante de https://github.com/discourse/wp-discourse/blob/main/lib/discourse-publish.php#L284C17-L284C35 corrige le problème avec les vidéos YouTube et Vimeo et permet également la publication de vidéos Wistia sur Discourse :

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

Je n’ai apporté la modification que sur mon site de développement local. Je vais examiner cela plus en détail et voir si cette correction peut être ajoutée au code du plugin WP Discourse.

3 « J'aime »

Salut @cyriac15, peux-tu partager un exemple de ce problème sur ton Wordpress et Discourse ?

Salut @simon .. Merci pour votre réponse…
Oui… je publie les articles de WordPress vers Discourse avec le plugin WP Discourse. Mais je n’ai pas activé l’option « Utiliser le contenu complet de l’article » car j’utilise des shortcodes dans l’éditeur WP.
J’utilise actuellement l’éditeur classique WP…
J’utilise le code d’intégration Wistia dans l’éditeur WP pour ajouter des vidéos.

J’ai essayé la solution que vous avez mentionnée mais cela n’a apporté aucun changement…

1 « J'aime »

Salut @angus ..
Je publie un article depuis Wordpress en utilisant le plugin WP Discourse.
Les codes d’intégration Wistia ne s’affichent pas sur le forum Discourse. Veuillez trouver ce lien..

L’image marquée dans la capture d’écran est un code d’intégration mais elle s’affiche comme une image.

J’utilise des liens d’intégration dans l’éditeur wp..

C’est un problème plus difficile à résoudre. Actuellement, tous les iframes sont supprimés par Discourse lorsqu’un message est affiché sur Discourse après qu’un utilisateur a cliqué sur le bouton « Afficher le message complet ». Cela signifie que les vidéos de n’importe quelle source ne s’afficheront pas dans le sujet. Ce serait formidable si cela pouvait fonctionner. Je sais que cela a été demandé plusieurs fois.

La raison pour laquelle cela se produit est que le bouton « Afficher le message complet » sur un message intégré dans Discourse fonctionne en « ré-explorant » la page Web intégrée lorsque l’utilisateur clique dessus. Le HTML que vous voyez lorsque vous cliquez sur ce bouton n’est pas envoyé par le plugin WP Discourse lors de la publication du message, c’est une nouvelle exploration de la page pertinente.

L’exploration Web est toujours un peu aléatoire en raison de la grande variété de structures HTML possibles (par exemple, il existe de nombreuses façons différentes d’afficher des images en HTML). Pour cette raison, il s’agit d’une fonctionnalité qui est envisagée pour une amélioration possible. Voir plus loin

Il n’y a donc pas de solution facile actuellement. Vous pouvez essayer de bloquer et d’autoriser les sélecteurs HTML utilisés par le crawler, mais c’est une chose délicate à faire fonctionner comme vous le souhaitez. Voir plus loin

Une façon plus simple de résoudre ce problème est soit de masquer le bouton « Afficher le message complet », soit de le remplacer pour qu’il renvoie au message WordPress d’origine, à l’aide d’un composant de thème personnalisé. Lorsqu’un site a une structure HTML de message relativement complexe impliquant des images, comme le vôtre, j’ai tendance à conseiller ces dernières options.

1 « J'aime »