اكتشف القائمة الكاملة لثوابت وخطاطيف ACF Multilingual (ACFML)، مع أمثلة لاستخدامها في كودك.
خطاطيف ACF Multilingual (ACFML)
acfml_should_translate_acf_entity
يحدد هذا المرشح ما إذا كانت إضافة ACFML ستعرض التسميات المترجمة لحقل ACF أو مجموعة حقول. أرجع false لعرض التسميات الأصلية في كل لغة. لا تتغير قيم الحقول.
النوع: مرشح
التوفر: ACFML 2.1.4
المعلمات:
$shouldTranslate
(bool) (مطلوب) ما إذا كان يجب ترجمة الحقل أو مجموعة الحقول. القيمة الافتراضية هي true.
$entity
(array) (مطلوب) الكيان الذي تتم ترجمته، وهو إما مصفوفة حقل أو مصفوفة مجموعة.
$entityType
(string) (اختياري) نوع الكيان الذي تتم ترجمته. يمكن أن يكون إما «field» أو «group».
مثال على استخدام الخطاف:
add_filter( 'acfml_should_translate_acf_entity', function( $shouldTranslate, $entity, $entityType ) {
if ( 'field' === $entityType ) {
return false;
}
return $shouldTranslate;
}, 10, 3 );
acfml_field_group_mode_field_translation_preference
يتيح لك هذا المرشح تجاوز تفضيل الترجمة الافتراضي لحقول ACF عندما تستخدم مجموعة الحقول نفس المحتوى في كل لغة، مترجم أو لكل لغة محتواها الخاص.
ملاحظة: يغير هذا المرشح تفضيل الترجمة الافتراضي فقط، وليس التفضيل المحفوظ للحقول الفردية. إذا قمت بتعديل القيمة الافتراضية، فستحتاج إلى إعادة حفظ مجموعات الحقول المتأثرة لتطبيق القيمة الافتراضية الجديدة.
النوع: مرشح
التوفر: ACFML 2.0.0
المعلمات:
$fieldTranslationPreference (int) (مطلوب) تفضيل الترجمة الافتراضي للحقل. القيم الممكنة:
0— عدم الترجمة. يتجاهل WPML الحقل بالكامل.1— نسخ. تُنسخ قيمة الحقل إلى جميع اللغات وتبقى متزامنة.2— ترجمة. تُتاح قيمة الحقل للترجمة.3— نسخ مرة واحدة. تُنسخ قيمة الحقل إلى جميع اللغات مرة واحدة، وبعد ذلك يمكن تعديلها في كل لغة بشكل مستقل.
$groupMode (string) (مطلوب) وضع ترجمة مجموعة الحقول. القيم الممكنة: translation أو localization.
$field (array) (مطلوب) مصفوفة حقل ACF.
مثال على استخدام الخطاف:
add_filter( 'acfml_field_group_mode_field_translation_preference', function( $fieldTranslationPreference, $groupMode, $field ) {
$fieldType = $field['type'] ?? null;
if ( 'url' === $fieldType ) {
return 1; // WPML_COPY_CUSTOM_FIELD
}
return $fieldTranslationPreference;
}, 10, 3 );
يعطي هذا المثال نوع الحقل url تفضيل نسخ بدلاً من تفضيل ترجمة الموصى به.
ثوابت ACF Multilingual (ACFML)
ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS
بدءاً من الإصدار ACFML 2.1.5، يمكنك استخدام هذا الثابت لتضمين السلاسل النصية لمجموعة الحقول في مهمة ترجمة المقالة.
لتمكين هذا، أضف السطر التالي إلى ملف wp-config.php الخاص بك:
define( 'ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS', false );
ملاحظات:
- إذا أنشأت مهمة ترجمة قبل إضافة هذا الكود إلى ملف wp-config.php الخاص بك، فألغها وأنشئ واحدة جديدة.
- يمكنك إرسال تسميات الحقول والخيارات للترجمة عبر لوحة إدارة الترجمة إذا لزم الأمر.
ACFML_HIDE_FIELD_ANNOTATIONS
إلى كل حقل مترجم، تضيف إضافة ACF Multilingual معلومات حول القيمة في اللغة الأصلية.
لإزالة هذه المعلومات من الحقول المترجمة، يمكنك إضافة السطر التالي إلى ملف wp-config.php الخاص بموقعك:
define( 'ACFML_HIDE_FIELD_ANNOTATIONS', true );
ACFML_REPEATER_SYNC_DEFAULT
يحدد هذا الثابت الحالة الافتراضية لمربع الاختيار الاحتفاظ بالحقول الفرعية المتكررة والمرنة بنفس ترتيب اللغة الافتراضية. تعرض إضافة ACFML مربع الاختيار هذا في صندوق مزامنة ترجمات ACFML الخاص بمقالة تستخدم خيار خبير. القيمة الافتراضية هي true، لذا يبدأ مربع الاختيار محدداً. عيِّن الثابت إلى false للبدء ومربع الاختيار فارغ. يتجاوز الخيار الذي تحفظه في المقالة هذه القيمة الافتراضية.
يمكنك تجاوز القيمة الافتراضية لـ ACFML_REPEATER_SYNC_DEFAULT في ملف functions.php الخاص بقالبك:
define('ACFML_REPEATER_SYNC_DEFAULT', false);
ACFML_SCAN_LOCAL_FIELDS
يحدد هذا الثابت القيمة الافتراضية لإعداد مزامنة تفضيلات الترجمة للحقول المحلية في ACFأدوات. عيِّنه إلى true لمزامنة تفضيلات الترجمة للحقول المحلية (حقول Local JSON والحقول المسجلة بـ PHP) عند كل طلب في لوحة التحكم. عندما يكون الثابت غير معرّف أو يكون false، لا تقوم إضافة ACFML بمزامنتها تلقائياً.
يتجاوز الخيار الذي تحفظه في ACFأدوات هذا الثابت. للمزامنة مرة واحدة، اختر المزامنة مرة واحدة الآن هناك وانقر على طبِّق.
لمزيد من المعلومات، تحقق من وثائق ACF الرسمية حول استخدام local JSON (يفتح في علامة تبويب جديدة).