فيديو Wistia يعرض صورة في منشورات discourse المضمنة

مرحباً،
لقد قمت بدمج منشورات ووردبريس في ديسكورس. في أحد المنشورات، أضفت فيديو ويستيا. إنه يعمل بشكل جيد في منشورات ووردبريس. ولكن في ديسكورس، يتم عرض الصورة فقط. الفيديو لا يظهر وبدلاً منه يتم تحميل صورة.

هل يمكن لأحد أن يرشدني في هذا الأمر؟

إعجاب واحد (1)

شكراً لسؤالك عن هذا. أثناء التحقيق في المشكلة، واجهت مشكلة في كيفية تعامل إضافة Discourse WordPress مع تضمينات YouTube و Vimeo. قد يحل إصلاح هذه المشكلة أيضًا مشكلة عرض مقاطع فيديو Wistia للمواضيع المنشورة من WordPress.

أفترض أنك تنشر المشاركات من WordPress إلى Discourse باستخدام إضافة WP Discourse وأنك قمت بتمكين خيار “استخدام محتوى النشر الكامل” الموجود في علامة تبويب خيارات نشر WP Discourse. أفترض أيضًا أنك تستخدم محرر كتل WordPress وليس المحرر الكلاسيكي. أخبرني إذا كان هذا غير صحيح.

إذا كنت تنشر مشاركات WordPress إلى Discourse بهذه الطريقة، فكيف تضيف مقاطع فيديو Wistia إلى مشاركات WordPress؟ هل تستخدم رابط “مشاركة” أم أنك تستخدم رمز تضمين الفيديو لإضافة مقاطع الفيديو؟ أعتقد أنه سيكون من الممكن جعل هذا يعمل إذا تم استخدام رابط “مشاركة”، ولكن ليس إذا تم استخدام رمز التضمين.

للإشارة (الخاصة بي)، المشكلة مع مقاطع فيديو YouTube و Vimeo موجودة هنا:

عند إضافة هذا الرمز إلى الإضافة، تم تسمية كتل الفيديو في WordPress بناءً على موفر الفيديو. على سبيل المثال core-embed/youtube. يبدو أن WordPress يستخدم الآن الاسم core/embed لكتل الفيديو ويحدد الموفر باستخدام السمة providerNameSlug. على سبيل المثال:

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

التغيير التالي إلى https://github.com/discourse/wp-discourse/blob/main/lib/discourse-publish.php#L284C17-L284C35 يحل المشكلة مع مقاطع فيديو YouTube و Vimeo ويسمح أيضًا بنشر مقاطع فيديو Wistia إلى Discourse:

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

لقد أجريت التغيير فقط على موقع التطوير المحلي الخاص بي. سألقي نظرة عليه مرة أخرى وأرى ما إذا كان يمكن إضافة هذا الإصلاح إلى رمز إضافة WP Discourse.

3 إعجابات

مرحباً @cyriac15، هل يمكنك مشاركة مثال لهذه المشكلة على ووردبريس ودسكورس لديك؟

مرحباً @simon .. شكراً على الرد…
نعم… أقوم بنشر المشاركات من ووردبريس إلى ديسكورس باستخدام إضافة WP Discourse. لكنني لم أقم بتمكين خيار “استخدام محتوى المنشور بالكامل” نظرًا لأنني أستخدم رموزًا مختصرة في محرر ووردبريس.
أنا حاليًا أستخدم محرر ووردبريس الكلاسيكي..
أنا أستخدم كود تضمين Wistia في محرر ووردبريس لإضافة الفيديو.

لقد جربت الحل الذي ذكرته ولكنه لم يحدث أي تغيير..

إعجاب واحد (1)

مرحباً @angus ..
أقوم بنشر مشاركة من ووردبريس باستخدام إضافة WP Discourse.
رموز Wistia المضمنة لا تظهر في منتدى Discourse. يرجى العثور على هذا الرابط..


الصورة المشار إليها في لقطة الشاشة هي رمز تضمين ولكنها تظهر كصورة.

أنا أستخدم روابط التضمين في محرر wp..

هذه مشكلة أكثر صعوبة في الحل. حاليًا، يتم تجريد جميع إطارات iframe بواسطة Discourse عند عرض منشور على Discourse بعد أن ينقر المستخدم على زر “إظهار المنشور بالكامل”. هذا يعني أن مقاطع الفيديو من أي مصدر ستفشل في الظهور في الموضوع. سيكون من الرائع لو أمكن جعل هذا يعمل. أعرف أن هذا قد طُلب عدة مرات.

السبب في حدوث ذلك هو أن زر “إظهار المنشور بالكامل” في منشور مضمن في Discourse يعمل عن طريق “إعادة الزحف” إلى صفحة الويب المضمنة عند النقر عليها. لا يتم إرسال HTML الذي تراه عند النقر على هذا الزر بواسطة إضافة WP Discourse عند نشر المنشور، بل هو زحف جديد للصفحة ذات الصلة.

الزحف على الويب دائمًا ما يكون ناجحًا أو فاشلاً بسبب التنوع الكبير في هياكل HTML الممكنة (على سبيل المثال، هناك العديد من الطرق المختلفة لعرض الصور في HTML). لهذا السبب، هذه ميزة قيد الدراسة لتحسين محتمل. انظر المزيد

لذلك لا يوجد حاليًا حل سهل. يمكنك محاولة حظر وتمكين محددات HTML التي يستخدمها الزاحف، ومع ذلك، فإن هذا أمر صعب لجعله يعمل بالطريقة التي تريدها. انظر المزيد

طريقة أبسط لمعالجة هذا هي إما إخفاء زر “إظهار المنشور بالكامل”، أو استبداله بحيث يرتبط مرة أخرى بمنشور WordPress الأصلي، باستخدام مكون سمة مخصص. عندما يكون للموقع بنية HTML معقدة نسبيًا للمنشور تتضمن صورًا، مثل موقعك، أميل إلى تقديم هذه الخيارات الأخيرة.

إعجاب واحد (1)