مرحباً، يبدو أن هذه مشكلة متعلقة بالقالب الخاص بك، أو ربما بكيفية استخدامك لـ “منشئ مواقع Astra” (Astra Site Builder)، ولكن دعنا نرى ما إذا كان بإمكاننا مساعدتك على الرغم من ذلك.
ربما يمكنك توضيح كيف يبدو هذا؟ هل استخدمت أي كود؟ هل يمكنك ربط وثائق “منشئ مواقع Astra” (Astra Site Builder)؟ هل هو قالب يدعم الكتل (block-enabled theme)؟ حاول تقديم أكبر قدر ممكن من التفاصيل.
نعم، لقد استخدمت كتلة تعليقات WP Discourse على Astra Site builder. حتى أنني قمت بتعطيل خطاف Astra Site builder، ولا تزال هذه الكتلة الإضافية لتعليقات Discourse مرئية تحت المنشور.
في السابق، استخدمنا سمة extol. أضفنا كتلة تعليقات Discourse في صفحة المنشور الفردي نفسها.
ثم انتقلنا إلى Astra.
تتمتع Astra ببعض القيود، لذلك لا يمكننا تعديل قالب المنشور الفردي الافتراضي. لهذا السبب أضفت مربع تعليقات discourse عبر خطاف بناء مواقع Astra، والذي يعمل بشكل مثالي.
حتى لو قمت بتعطيل خطاف بناء مواقع Astra، فلا تزال هذه الصفحات الثلاث تعرض مربع تعليقات Discourse، ولم نضف كتلة مربع تعليقات في المنشور. ولم نتمكن حقًا من معرفة من أين تأتي هنا.
حسناً، يمكنك إعادة تمكينه.
المشكلة هي أنه مهما كان مزيج السمات ومنشئ الموقع الذي تستخدمه، لديك كلاهما قالب منشور PHP وقالب منشور كتلة في نفس الصفحة (وهذا ليس طبيعياً). هذا هو سبب حدوث ذلك.
يوجد استدعاء لدالة قالب التعليقات في قوالب PHP التي تستخدمها مما يسبب ذلك. سيبدو شيئًا كهذا.
<?php comments_template(); ?>
سيعتمد مكانها على قوالب PHP التي تستخدمها. ابحث عن هذه الدالة وستحل المشكلة. لا يوجد الكثير من المساعدة التي يمكننا، أو مقال، تقديمها للأسف.
الشيء الوحيد الآخر الذي أقترحه هو التواصل مع الأشخاص الذين يدعمون “Astra”. المشكلة الأساسية هنا هي هذا المزيج من قوالب PHP والكتل التي لديك. ربما يمكنهم تسليط الضوء على ذلك.
أولاً، أود أن أقدم شكرًا جزيلاً وعميقًا لـ @angus على البقاء معي خلال هذه العملية وتقديم توجيهات مدروسة. دعمك يعني لي الكثير، وأنا أقدر حقًا الوقت والجهد الذي بذلته لمساعدتي في استكشاف هذه المشكلة وإصلاحها. دعني أستعرض معك كل ما استكشفته وحاولت، على أمل أن يساعد الآخرين الذين يواجهون مشكلات مماثلة.
الخلفية والإعداد الأولي:
في البداية، كنا نستخدم سمة Extol، حيث أضفنا كتلة تعليقات Discourse مباشرة في صفحة المنشور الفردي نفسها. وقد نجح هذا بشكل جيد للغاية. عندما انتقلنا إلى سمة Astra، أصبحت الأمور أكثر تعقيدًا. نظرًا لأن Astra لديها بعض القيود (مثل عدم القدرة على تعديل قالب المنشور الفردي الافتراضي بسهولة)، فقد أضفت مربع تعليقات Discourse عبر خطافات Astra Site Builder ووضعته أسفل المنشور بناءً على شرط عرض.
وقد نجح هذا بسلاسة لمعظم المنشورات، ولكن بالنسبة لثلاثة منشورات محددة، ظهر قسم تعليقات Discourse مرتين. لم أتمكن من معرفة سبب حدوث ذلك لهذه المنشورات فقط، بينما ظهرت المنشورات الأخرى بشكل صحيح. دفعتني هذه الشذوذ إلى الاعتقاد بأنه قد يكون هناك بقايا من إعداد Extol القديم، لكنني لم أتمكن من تحديد أي شيء بشكل قاطع.
استكشاف المشكلة:
أولاً، تحققت من محرر المنشور، بحثًا عن أي إعدادات أو كتل ربما تم تمكينها أو تعطيلها يدويًا لتعليقات Discourse. بشكل مفاجئ، لم يكن هناك شيء هناك - لا توجد كتل إضافية، ولا إعدادات مختلفة.
بعد ذلك، عطلت خطاف Astra Site Builder لمعرفة ما إذا كان ذلك سيزيل قسم التعليقات الإضافي. لم يحدث ذلك؛ ظل المربع المكرر موجودًا. هذا يشير إلى أن التكرار كان يحدث خارج إعداد Astra Site Builder.
ثم حاولت تعطيل “تمكين تعليقات Discourse” في إعدادات WP Discourse. كما نصحتني، أزال هذا كلا قسمي التعليقات، مما يشير إلى أن كليهما كان يتم إنشاؤهما من خلال هذا التكامل بطريقة ما.
بعد إعادة تمكينه، تعمقت في ملفات السمة. بحثت في single.php و content-single.php وملفات القالب الأخرى ذات الصلة عن أي مثيل لـ comments_template();. للأسف، لم أتمكن من العثور على أي شيء يستدعي هذه الوظيفة صراحةً. هذا تركني في حيرة. إذا كانت مشكلة قالب PHP، فلماذا لم أتمكن من العثور عليها؟
حاولت أيضًا التحقق من وجود قوالب مخصصة. ربما كانت هذه المنشورات الثلاثة تستخدم قالبًا مختلفًا؟ لم أتمكن من تأكيد ذلك أيضًا. كل شيء أشار إلى الإعداد الافتراضي.
كانت هناك نظرية أخرى تتعلق بمزامنة التعليقات - ربما عندما يعلق شخص ما في منتدى Discourse، فإنه يؤدي إلى ظهور قسم تعليقات آخر أسفل منشور المدونة ذي الصلة. بدا هذا معقولاً، لكنني لم أتمكن من العثور على إعداد أو وثائق ترتبط مباشرة بهذا السلوك.
لجأت إلى حل CSS مؤقت لإخفاء قسم التعليقات المكرر:
تمت إضافة CSS في تخصيص سمة WP Additional CSS
#comments {
display: none !important;
}
تمت إضافة CSS في خطاف Astra:
#comments {
display: block !important;
}
بينما نجح هذا، أتفق على أنه ليس حلاً دائمًا. أفضل بكثير معالجة السبب الجذري.
أفكار ونظريات:
أشك في أنه قد يكون مشكلة أعمق في كيفية تعامل Astra مع الخطافات والكتل - ربما بعض التعارض أو التكرار في طريقة تضمين تعليقات Discourse.
احتمال آخر هو وجود إعداد مخفي أو تكوين متبقٍ من سمة Extol القديمة لا يزال يؤثر على الأمور.
أو قد يكون مرتبطًا بكيفية مزامنة Discourse مع WordPress. عندما يتم تقديم تعليق في المنتدى، فقد يؤدي ذلك إلى تشغيل شيء ما داخل موقع WordPress، مما يؤدي إلى إنشاء هذا القسم الإضافي.
ما لم أحاوله:
الاتصال بدعم Astra: كما اقترحت، قد يكون هذا الأمر يستحق المتابعة. قد يكونون على دراية بمشكلات مماثلة أو يمكنهم تقديم رؤى حول كيفية معالجة السمة للتعليقات والخطافات.
تعطيل جميع الإضافات باستثناء WP Discourse: قد يساعد هذا في عزل ما إذا كانت إضافة أخرى تسبب هذا السلوك.
الاختبار بمنشور جديد تمامًا: قد يكشف إنشاء منشور جديد من البداية ومعرفة ما إذا كانت المشكلة تتكرر عن شيء ما.
الخطوات التالية:
في الوقت الحالي، أعتقد أنني سأستكشف الاتصال بدعم Astra وربما إجراء المزيد من الاختبارات مع تعطيل الإضافات. قد أحاول أيضًا اتباع نهج مختلف باستخدام سمة فرعية ومعرفة ما إذا كان بإمكاني التعامل يدويًا مع قسم تعليقات Discourse بشكل أكثر دقة.
مرة أخرى، يا Angus، شكرًا جزيلاً لك على مساعدتك وصبرك. كانت رؤيتك لا تقدر بثمن، وعلى الرغم من أنني لم أحلها بعد، إلا أنني أشعر بأنني أقرب إلى فهم ما يحدث. إذا كان لدى أي شخص آخر أفكار أو رؤى أو تجارب مع مشكلات مماثلة، فسأحب أن أسمعها!
سأستمر في البحث وسأقوم بالتحديث هنا إذا اكتشفت أي شيء جديد. تحياتي!
أعتقد أن مشكلتك متوقعة.
سمة Astra لا تدعم ميزة تحرير الموقع بالكامل أو العمل مع الكتل.
بمعنى آخر، Astra ليست سمة كتل، ولتخصيص الصفحات، تحتاج إلى استخدام منشئ صفحات تابع لجهة خارجية (مثل Elementor، في حالتك).
سترى بالتأكيد تكرارًا إذا لم تكن تستخدم كتلة Discourse لاستبدال كتلة التعليقات الأصلية. يوضح Angus ما ستحتاج إلى القيام به إذا كان لديك سمة كتل في الفيديو الخاص به: WP Discourse Comments Block.
أنت لا تستبدل منطقة التعليقات عند إضافة كتلة Discourse باستخدام خطافات؛ أنت تضع رمزًا مخصصًا في موقع محدد.
ما هو الحل؟
إذا كنت تفضل مظهر/موقع خطاف Astra، فهناك طريقة لإزالة منطقة تعليقات WP الأصلية. يمكنك إضافة هذا الرمز PHP. انظر How to Add Custom PHP Code in the Astra Theme? إذا كنت بحاجة إلى مساعدة في كيفية القيام بذلك.
شكراً جزيلاً لك، @Arkshine!
أخيراً، لم تعد أقسام التعليقات الأصلية مرئية - يا لها من رحلة كانت!
وشكراً جزيلاً لـ @angus أيضاً. صبرك وتوجيهك ورؤيتك العميقة كانت لا تقدر بثمن حقاً طوال هذه العملية. أقدر بصدق الوقت والجهد الذي بذلته لمساعدتي في تجاوز هذه المشكلة.
من اختبار الإعدادات المختلفة إلى تصحيح مزيج من قوالب البلوك و PHP، استكشفت كل شيء - من تعطيل خطافات Astra إلى تعديل CSS، والتحقق من قالب التعليقات، وحتى تتبع سبب تأثر منشورات معينة فقط. كانت رحلة مليئة بالتجارب والأخطاء، لكن كل خطوة ساعدتني على فهم النظام بشكل أفضل.
لم يكن هذا ممكناً لولا خبرتك واستعدادك للمساعدة. لم تساعدني مساعدتك في حل المشكلة فحسب، بل علمتني الكثير عن ووردبريس و Discourse وتكاملات القوالب. أنا ممتن للغاية.
لأي شخص يواجه مشاكل مماثلة: استمر في الاختبار، استمر في التعلم، ولا تتردد أبداً في طلب المساعدة. المجتمع مذهل!