- الحالة
- محلولة
- أُبلغ عنها لـ
- WPML Multilingual CMS 4.6.9
- تم حلها في
- WPML 4.9.3
- وسوم الموضوع
- Bug
نظرة عامة على المشكلة
في بعض الحالات، عند استخدام قوالب صفحات مخصصة، لا يُطبَّق القالب المحدد بشكل صحيح على الصفحات المترجمة.
حل بديل مؤقت
لضمان تطبيق قالب الصفحة المخصص بشكل صحيح على الصفحة المترجمة، اتبع هذه الخطوات:
- احذف الإدخالات ذات الصلة من كلا الجدولين
wp_postsوicl_translations.
- انتقل إلى اللغة الثانوية باستخدام شريط الإدارة العلوي، ثم اذهب إلى المظهر > المحرر، وحدد موقع القالب المترجم، واحذفه.
- في WPML > إعدادات > عنوان URL للصفحة، مكّن «ترجمة» لترجمة المعرّف النصي للرابط (يضمن هذا تضمين المعرّف النصي للقالب في الترجمة بدلاً من إنشائه تلقائياً من العنوان).
- افتح الملف: wp-content/plugins/sitepress-multilingual-cms/classes/full-site-editing/BlockTemplates.php
- حول السطر التالي إلى تعليق عند السطر 56 تقريباً:
$postData['post_name'] = $post->post_name;
- أعد إرسال القالب للترجمة.
- عند ترجمة القالب، تأكد من أن المعرّف النصي للرابط صحيح ويتضمن المعرّف النصي للصفحة المترجمة أو التصنيف المترجم.
سيناريو حالة خاصة
يوجد تسلسل محدد قد لا ترتبط فيه الصفحة المترجمة بالقالب المترجم:
- عندما تنشئ قالباً مخصصاً جديداً مباشرةً أثناء إنشاء صفحة جديدة (عن طريق تحديد «القالب > إنشاء قالب جديد» في الشريط الجانبي الأيمن)، يتم نشر كل من الصفحة وقالبها في وقت واحد.
- إذا تم تمكين الترجمة التلقائية («ترجم كل شيء»)، يرسل WPML كلاً من الصفحة والقالب للترجمة في نفس الوقت.
- إذا اكتملت ترجمة الصفحة قبل ترجمة القالب، فلن يكون القالب المترجم موجوداً بعد لتعيينه. لذلك ينتهي الأمر بالصفحة المترجمة باستخدام القالب الافتراضي بدلاً من ذلك.
- لحل هذه المشكلة، بمجرد اكتمال ترجمة القالب ونشرها، أعد إرسال الصفحة المترجمة للترجمة حتى تتلقى القالب المترجم حديثاً بشكل صحيح.