لتسجيل ودجات أداة بناء الصفحات المخصصة للترجمة، تحتاج إلى استخدام ملف wpml-config.xml. اتبع هذا الدليل التعليمي لمعرفة كيفية استخدامه.
هذا الدليل مخصص للمطورين الذين ينشئون قوالب وإضافات أو يضيفون كوداً مخصصاً لأداة بناء الصفحات إلى موقعهم.
إذا كنت تستخدم أداة بناء صفحات تابعة لجهة خارجية ولا يمكنك ترجمة الودجات المخصصة على موقعك، يرجى الاتصال بدعم WPML.
تأتي أدوات بناء الصفحات مثل Elementor (يفتح في علامة تبويب جديدة) وBeaver Builder (يفتح في علامة تبويب جديدة) وSiteOrigin (يفتح في علامة تبويب جديدة) وCornerstone (يفتح في علامة تبويب جديدة) مع مجموعة من الودجات الخاصة بها. تعمل هذه الودجات الافتراضية بسلاسة مع WPML.
في بعض الأحيان، قد تنشئ ودجات مخصصة معدّة للاستخدام مع أدوات بناء الصفحات هذه أو غيرها.
الودجت المخصصة هي أي ودجت إضافية فريدة لا تأتي مضمنة مع أداة بناء الصفحات. يمكن إنشاؤها بواسطة فريق التطوير الخاص بك، أو مطورين تابعين لجهات خارجية، أو قد تأتي من إضافات وقوالب أخرى.
الودجت المخصصة هي أيضاً أي ودجت تأتي من إضافات ملحقة تم تطويرها خصيصاً لأداة بناء صفحات، مثل Elementor، بواسطة مطورين خارجيين.
متى أحتاج إلى تسجيل الودجات المخصصة للترجمة؟
تحتاج إلى تسجيل ودجتك المخصصة للترجمة:
- إذا كانت ودجت غير مقدمة في الأصل بواسطة أداة بناء الصفحات
- إذا قمت بإنشائها وإضافتها من خلال إضافة أو قالب آخر
- إذا تم تطويرها لمواقع WordPress الخاصة بك أو لأداة بناء صفحات معينة بواسطة فريقك أو جهات خارجية
في الماضي، كانت الطريقة الأكثر شيوعاً لتسجيل الودجات المخصصة للترجمة هي استخدام كود PHP مخصص. الآن، يمكنك بسهولة تسجيل الودجت للترجمة باستخدام wpml-config.xml، وهو ملف تكوين WPML.
تسجيل ودجات Elementor المخصصة للترجمة في WPML 4.9 والإصدارات الأحدث
في WPML 4.9 والإصدارات الأحدث، يتعرف WPML تلقائياً على ودجات Elementor المخصصة ويجعلها قابلة للترجمة. ومع ذلك، قد يسجل سلاسل نصية لا تريد ترجمتها.
لهذا السبب نوصي بشدة بأن تستمر في تكوين ملف wpml-config.xml يدوياً كما هو موضح في هذه الصفحة. يمنحك هذا التحكم في الحقول القابلة للترجمة.
كيفية تسجيل ودجات Elementor المخصصة وكتل Gutenberg للترجمة باستخدام إضافة Multilingual Tools
تتضمن إضافة Multilingual Tools الخاصة بنا WPML – Config Generator لودجات Elementor وكتل Gutenberg. تتيح لك هذه الميزة إضافة أي ودجات Elementor مخصصة أو كتل Gutenberg تريد تسجيلها للترجمة إلى صفحة. ثم تنشئ تلقائياً الإصدار الأول من كود XML الذي تحتاجه.
تعرف على كيفية تسجيل ودجات Elementor المخصصة للترجمة وكيفية جعل كتل Gutenberg قابلة للترجمة.
كيفية العثور على معلومات تسجيل الودجت
لتتمكن من تسجيل ودجت مخصصة داخل ملف wpml-config.xml ، تحتاج أولاً إلى العثور على بعض المعلومات الأساسية حولها: اسم نوع الودجت وأسماء الحقول التي تريد ترجمتها.
أضف الودجت بمفردها إلى صفحة جديدة واحفظ الصفحة. يخزن Elementor ودجات الصفحة في حقل بيانات المقالة الوصفية _elementor_data، وتعرض إضافة مثل JSM Show Post Metadata (يفتح في علامة تبويب جديدة) هذا الحقل في مربع بيانات وصفية (metabox) أسفل محرر الصفحة، حتى تتمكن من قراءة بيانات الودجت هناك.
في تلك البيانات:
- widgetType هو الاسم الذي يجب استخدامه في سمة name الخاصة بالودجت.
- المفاتيح الموجودة تحت settings هي حقول الودجت. المفتاح الذي يحتوي على نص تريد ترجمته، مثل title، هو اسم حقل يجب تسجيله.
- يحتوي حقل التكرار على مصفوفة من الصفوف. المفتاح الذي يحتوي على تلك المصفوفة، مثل contents، هو اسم «items of».

بمجرد حصولك على هذه المعلومات، يمكنك المضي قدماً في تسجيل الودجت فعلياً للترجمة.
للتحقق من عملك، افتح صفحة تستخدم الودجت في محرر الترجمة. ستظهر الحقول التي سجلتها هناك بالاسم، مع نصوص الودجت بجانبها. الودجت التي لم يتم تسجيلها لا تساهم بشيء في مهمة الترجمة، لذا إذا لم يظهر أي من نصوصها، فإن التسجيل لم يدخل حيز التنفيذ.
تسجيل الودجات البسيطة
يرشدك الفيديو التالي عبر مثال لتسجيل ودجت Elementor بسيطة:
يوضح المثال التالي كيفية تسجيل ودجت بسيطة. الودجت البسيطة هنا تعني أن الودجت لا تحتوي على حقول تكرار.
<wpml-config> <elementor-widgets> <widget name="heading"> <conditions> <condition key="widgetType">heading</condition> </conditions> <fields> <field type="Heading" editor_type="LINE">title</field> <field type="Heading: Link URL" editor_type="LINK">link>url</field> </fields> </widget> </elementor-widgets> </wpml-config>
دعنا نستعرض بنية المثال المعطى:
- ابدأ بوسم
<elementor-widgets>. يخبر هذا WPML بأي ودجات أداة بناء الصفحات ستقوم بتسجيلها. يمكن أن يكون أحد هذه الخيارات:<elementor-widgets>: يجب استخدام هذا إذا كنت تستخدم Elementor أو Elementor PRO أو أي ملحق Elementor آخر.<beaver-builder-widgets>: يجب استخدام هذا إذا كنت تستخدم Beaver Builder Lite أو Beaver Builder المدفوع أو أي ملحق Beaver Builder آخر.<siteorigin-widgets>: يجب استخدام هذا إذا كنت تستخدم أداة بناء الصفحات SiteOrigin.<cornerstone-widgets>: ويجب استخدام هذا لأداة بناء الصفحات Cornerstone التي تأتي مع قالب X أو قالب PRO.
- أضف ودجاتك:
<widget name="widget_name">حيث يكون widget_name هو الاسم المستخدم لتسجيل الودجت في أداة بناء الصفحات.<conditions>(اختياري): تحت conditions، تضيف شرطاً بمفتاح يساوي اسم الودجت. يمكن استخدامه عندما يكون اسم الودجت مختلفاً عن مفتاح الودجت في البيانات، ولكنه عادة لا يكون ضرورياً.
- أضف حقول الودجات، مع تغليفها بوسم
<fields>:- field: معرّف الحقل (id). هذا هو نفس المعرّف المستخدم عند إضافة عنصر تحكم عبر دالة Control_stack::add_control.
- type (اختياري): نوع الحقل. هذا هو النص المعروض في محرر الترجمة المتقدم أو محرر الترجمة الكلاسيكي من WPML لمساعدة المترجم على معرفة الحقل الذي تتم ترجمته.
- editor_type (اختياري): هذا هو نوع حقل النص المستخدم في محرر الترجمة الكلاسيكي من WPML. القيم الصالحة هي LINE وAREA وLINK وVISUAL. يتم تعيينه افتراضياً إلى LINE إذا كان مفقوداً.
- key_of (اختياري): يُستخدم هذا فقط لوسوم <field> التي تحتوي على مصفوفة داخل وسم <fields-in-item>.
يمكنك استخدام هذه العناصر لتسجيل ودجت بسيطة بأي عدد من الحقول.
تسجيل الحقول بمعرفات المقالات أو التصنيفات
في القسم أعلاه، تعلمت أن سمة type تُستخدم عادةً لعرض نص وصفي في محرر الترجمة.
ومع ذلك، عندما تخزن حقول الودجت الخاصة بك معرفات المقالات (post IDs) أو معرفات التصنيفات (taxonomy IDs) (مثل الصور المحددة أو المقالات ذات الصلة أو التصنيفات المختارة)، فإنك تستخدم قيماً خاصة تؤدي إلى التحويل التلقائي:
type="post-ids"– للحقول التي تحتوي على معرفات المقالاتtype="term-ids"– للحقول التي تحتوي على معرفات التصنيفات/المصطلحات
عندما تستخدم قيم types هذه:
- لن يظهر الحقل في محرر الترجمة
- يحول WPML المعرفات تلقائياً للإشارة إلى المحتوى المترجم المقابل
- يتم دعم كل من المعرفات الفردية وقوائم المعرفات المفصولة بفواصل
مثال:
<wpml-config>
<elementor-widgets>
<widget name="the-widget-name">
<fields>
<field type="post-ids" sub-type="attachment">image_id</field>
<field type="post-ids" sub-type="post">selected_posts</field>
<field type="term-ids" sub-type="category">category_filter</field>
</fields>
</widget>
</elementor-widgets>
</wpml-config>
في هذا المثال، تحدد سمة sub-type الاختيارية نوع المنشور أو التصنيف الدقيق الذي يتم تحويله:
- لـ
type="post-ids": استخدمsub-type="attachment"أوsub-type="post"أوsub-type="page"أو المعرّف النصي للرابط (slug) لنوع المنشور المخصص الخاص بك - لـ
type="term-ids": استخدمsub-type="category"أوsub-type="post_tag"أو المعرّف النصي للرابط (slug) للتصنيف المخصص الخاص بك
تؤدي إضافة sub-type إلى تحسين الأداء عن طريق تجنب استعلامات قاعدة البيانات الإضافية لتحديد نوع المحتوى.
لمزيد من الأمثلة، راجع ملف تكوين Elementor (يفتح في علامة تبويب جديدة) وابحث عن post-ids.
تسجيل الودجات التي تحتوي على حقول تكرار
يرشدك الفيديو التالي عبر مثال لتسجيل ودجت Elementor متقدمة تحتوي على حقول تكرار:
بالنسبة للودجات التي تحتوي على حقول تكرار، تحتاج إلى تغليف الحقول في وسم <fields-in-item items_of="tabs"> (حيث يكون tabs هو اسم الودجت التي تحتوي على حقول مكررة). تحقق من هذا المثال:
<widget name="accordion"> <fields-in-item items_of="tabs"> <field type="Accordion: Title" editor_type="LINE">tab_title</field> <field type="Accordion: Content" editor_type="VISUAL">tab_content</field> </fields-in-item> </widget>
في بعض الحالات، يمكن أن تحتوي الودجت على حقول تكرار متعددة. ضع في اعتبارك بنية البيانات التالية من ودجت Table من Ultimate Addons for Elementor كمثال:

لتسجيل هذه الودجت، يرجى مراجعة المثال التالي:
<widget name="uael-table"> <fields-in-item items_of="table_content"> <field type="The Cell text" editor_type="LINE">cell_text</field> </fields-in-item> <fields-in-item items_of="table_headings"> <field type="The Heading text" editor_type="LINE">heading_text</field> </fields-in-item> </widget>
تسجيل الودجات التي تحتوي على حقول بسيطة وحقول تكرار معاً
ملاحظة، يمكن أن تحتوي الودجات على كلا النوعين: fields و fields-in-item. تحقق من هذا المثال لودجت تستخدم كليهما:
<widget name="price-table"> <fields> <field type="Price Table: Heading" editor_type="LINE">heading</field> <!-- ... --> </fields> <fields-in-item items_of="features_list"> <field type="Price table: text" editor_type="LINE">item_text</field> </fields-in-item> </widget>
تجميع الحقول لتنظيم أفضل
لتحسين وضوح وتنظيم تكوين XML الخاص بك، يمكنك إضافة اسم المجموعة كبادئة لتسميات الحقول. ضع في اعتبارك هذا المثال لودجت نقطة الاتصال (hotspot):
<widget name="hotspot">
<fields-in-item items_of="hotspot">
<field type="Hotspot: Label">hotspot_label</field>
<field type="Hotspot: URL" key_of="hotspot_link">url</field>
<field type="Hotspot: Content" editor_type="VISUAL">hotspot_tooltip_content</field>
</fields-in-item>
</widget>
هنا، يتم إضافة التسمية Hotspot: كبادئة لكل حقل داخل ودجت نقطة الاتصال. تظهر هذه البادئة أيضاً في محرر الترجمة المتقدم: توجد حقول الودجت في مربع Hotspot ويحمل كل منها تسميته الخاصة، مما يسهل تحديد وترجمة كل حقل:

تسجيل أنواع أخرى من محتوى أداة بناء الصفحات
راجع وثائقنا حول تسجيل محتوى أداة بناء الصفحات في ملف تكوين اللغة الخاص بك لمزيد من المعلومات حول تسجيل السلاسل النصية والأكواد المختصرة والمزيد.
موارد إضافية
لمعرفة المزيد حول ملف wpml-config.xml، تفضل بزيارة دليل ملفات تكوين اللغة.
لتخصيص عناصر أخرى باستخدام ملف wpml-config.xml، تفضل بزيارة أدلتنا الإضافية:
- تسجيل محتوى أداة بناء الصفحات للترجمة
- ترجمة الأكواد المختصرة المخصصة باستخدام WPML
- تعيين خيارات الترجمة للحقول المخصصة باستخدام ملف تكوين WPML
- تسجيل المصطلحات والأنواع والتصنيفات المخصصة كقابلة للترجمة
- جعل كتل Gutenberg المخصصة قابلة للترجمة
- ترجمة النصوص التي تحفظها القوالب والإضافات في wp_options
- تخصيص مبدل لغة WPML باستخدام ملف تكوين WPML