مرحبًا،
أستخدم إضافة “WP Discourse” منذ أشهر، وقد عملت دائمًا بشكل جيد مع المقالات المكونة من معرض صور + فقرات.
لقد نشرت مقالة على المدونة تحتوي فقط على معرض صور يتكون من حوالي 60 صورة، ولم تظهر على Discourse في الموضوع المرتبط. بدلاً من ذلك، استخرجت أولاً نص إضافة GDPR، ثم نص التذييل.
كيف يمكنني حل هذه المشكلة؟ هل يجب أن أضيف بعض الكود في ملف functions.php للقالب؟
نعم، هذا صحيح. بالنسبة للمشاركات المنشورة سابقًا، كان كل شيء يعمل بشكل مثالي. أرى كلًا من المعرض والنص بعد النقر على زر “إظهار المنشور الكامل”.
لقد قمت بإرفاق مثال عملي على منشور هنا، على كل من WordPress و Discourse.
يحتوي هذا المنشور على صور كمعرض وبعض النصوص.
إذا كان المنشور يحتوي فقط على صور (تم إدراجها كمعرض)، فإن Discourse يعرض إما نص التذييل أو الرسالة في نافذة منبثقة لإضافة “Moove GDPR Cookie Compilation”. إذا قمت بتعطيل إضافة GDPR، فإنني أرى نص التذييل.
إذا قمت بإدراج صورة كـ “صورة” (كتلة Gutenberg)، فإن Discourse سيظهر الصورة ولكن ليس المعرض.
الفرق هو أنه في الحالة التي أبلغت عنها، تحتوي مشاركة ووردبريس فقط على صور. أما في الحالة الأخرى، فالمشاركة تحتوي أيضًا على نص. هل من الممكن إضافة نص قبل الصور في المشاركة التي تواجه فيها المشكلة؟
لقد قمت للتو بحذف الموضوع في Discourse وأضفت بعض النص قبل وبعد كتلة “معرض الصور” في Gutenberg، ولكن للأسف لم ينجح الأمر. المحتوى ظاهر بوضوح في الملخص، ولكن بمجرد الضغط على الزر، يتم استبداله برسالة إضافة GDPR.
إليك رابط الموضوع الجديد:
ماذا يمكنني أن أفعل الآن للتحقيق في المشكلة وحلها؟ كما قمت أيضًا بمسح ذاكرة التخزين المؤقت لـ WordPress (LiteSpeed و Cloudflare).
يبدو أنك لم تنشئ منشورًا جديدًا على WordPress. إذا أعدت استخدام نفس المنشور على WordPress، فسيتم تخزين محتوى المعاينة نفسه في الذاكرة المؤقتة. جرب إنشاء منشور جديد على WordPress باستخدام نفس الصور ولكن مع إضافة نص في البداية.
المشكلة الأساسية تكمن في أن الطريقة التي يتم بها سحب المحتوى من موقعك تعتمد على مكتبة (gem) تسمى Readability، وهي مبنية على خوارزمية عرض القارئ الخاصة بـ Mozilla.
ما يحدث فعليًا هو أن خوارزمية Readability لا تعمل بشكل جيد مع المحتوى الغني بالصور. فميزة المعاينة مُصممة للمشاركات التي تتكون في الغالب من نصوص.
نعم، بشكل أساسي. إحدى الطرق للاختبار هي استخدام عرض القارئ في Firefox مع مشاركتك على WordPress لمعرفة ما من المرجح أن تنتجه مكتبة Readability.
لاحظت أنني أستطيع العثور على “allowed_embed_selectors” فقط في إعدادات Discourse الخاصة بي.
لقد قمت بتغيير ذلك عن طريق إدراج فئات CSS من سمة (theme) الخاصة بي. كما استخدمت بعض “الحيل” لزيادة درجة القراءة، وقد نجح ذلك!
أضفت المزيد من النص، وبعض نصوص البدائل للصور (image alts)، و"غلاف" عام للمشاركات لإضافة وسم <article>. يعمل هذا بشكل ممتاز على Discourse، حتى لو أظهرت متصفح Firefox لوحة GDPR كمحتوى “قابل للقراءة”.
لدي الآن سؤال. هل يمكنني توسيع نافذة Discourse المنبثقة (lightbox) لتشمل صور WordPress المستوردة في الموضوع؟
طريقة العمل هي أن معاينة HTML في المنشور تحافظ على دقة المحتوى الأصلي. ستحتاج إلى إضافة مخصصة (plugin) لتحقيق ذلك.
المشكلة الأساسية هي نفسها. محاولة جعل منشور WordPress الذي يتكون تقريبًا بالكامل من صور متطابقًا بنسبة 1:1 بين WordPress وDiscourse ليس ما صُمم البرنامج من أجله. السبب في أن تضمين المواضيع (وهو ما يُشغّل هذه الميزة في جانب Discourse) يستخدم مكتبة Readability هو أن الافتراض هو أنك تتعامل مع محتوى يُقرأ (أي النصوص).
من الممكن تحقيق مزامنة موثوقة لمعرض الصور بين WordPress وDiscourse، ومع ذلك ستحتاج إلى تصميم التخصيصات (إضافة WordPress وإضافة Discourse) لتعمل بهذه الطريقة.