WPML

تمنع روابط WPML الثابتة انكسار الروابط بين الصفحات والمقالات نهائياً، حتى إذا تم نقل الصفحات أو إعادة تسميتها.


يجعل WordPress تغيير عناوين الصفحات أمراً سهلاً للغاية، مما يتسبب في انكسار جميع الروابط الواردة (خطأ 404). إليك بعض الإجراءات التي قد تؤدي إلى ظهور خطأ 404:
  • تغيير الصفحة الأب للصفحة
  • تغيير المعرّف النصي للرابط
  • تغيير بنية الرابط الدائم للموقع

يمنع WPML التغييرات في عناوين URL من التسبب في انكسار الروابط الواردة. عندما تنشئ رابطاً، يجعله WPML ثابتاً تلقائياً. وبدلاً من تخزين عنوان URL لتلك الصفحة (في وقت إنشاء الرابط)، فإنه يخزّن رقم الصفحة. وهذا لا يمكن أن يتغير أبداً، مهما فعلت.

بعد ذلك، عند عرض الصفحة، يدرج WPML الرابط الدائم للصفحة التي تشير إليها. وكلما تغير عنوان URL، يتم تحديث جميع الصفحات التي تشير إليه على الفور وستشير إلى العنوان الصحيح.

توضح لقطات الشاشة التالية كيف تبدو الروابط الداخلية في قاعدة البيانات، بمجرد تمكين روابط ثابتة.

روابط تم تحويلها إلى ثابتة بواسطة WPML معروضة داخل محرر المكونات
روابط تم تحويلها إلى ثابتة بواسطة WPML معروضة داخل محرر المكونات
روابط تم تحويلها إلى ثابتة بواسطة WPML معروضة داخل المحرر الكلاسيكي
روابط تم تحويلها إلى ثابتة بواسطة WPML معروضة داخل المحرر الكلاسيكي

لن يرى مستخدموك أبداً هذه الروابط «الغريبة». وبدلاً من ذلك، سيستبدلها WPML بالروابط الدائمة الحالية عند عرض الصفحات.
بمجرد تمكين وحدة روابط ثابتة، يمكنك التحكم في السلاسل التي تعالجها. للقيام بذلك، اذهب إلى صفحة WPMLروابط ثابتة.
روابط ثابتة قبل المعالجة
روابط ثابتة قبل المعالجة

بشكل افتراضي، سيقوم WPML بتحويل جميع الروابط الموجودة في متن المقالة إلى روابط ثابتة. يمكنك أيضاً تحويل الروابط الموجودة في الودجات والسلاسل إلى روابط ثابتة.

سيتيح لك WPML استبدال جميع الروابط العادية بروابط ثابتة دُفعة واحدة. كما سيقوم بالإبلاغ عن أي روابط مكسورة موجودة ويساعد في إصلاحها.

إذا قمت بتمكين روابط ثابتة بعد إنشاء بعض المحتوى، فلن يتم تحويل الروابط الموجودة في ذلك المحتوى الحالي إلى روابط ثابتة على الفور.

تخبرك شاشة إدارة روابط ثابتة بمقدار المحتوى الذي قد يتضمن روابط عادية (غير ثابتة). يمكن لـ WPML فحص هذا المحتوى وتحويل جميع الروابط إلى روابط ثابتة. انقر على زر فحص للقيام بذلك.

يمكنك دائماً إعادة روابطك إلى روابط دائمة عادية (غير ثابتة) بالنقر على إعادة عناوين URL الثابتة إلى روابط دائمة.

الربط بصفحات بلغة مختلفة


في بعض الأحيان، قد ترغب في إدراج رابط إلى صفحة بلغة أخرى. نظراً لأن روابط ثابتة تضبط الروابط تلقائياً، فقد تمنعك من القيام بذلك وتضبط الرابط ليشير إلى نفس اللغة بدلاً من ذلك.

لتتمكن من إضافة روابط إلى صفحات بلغات أخرى، تحتاج إلى إضافة المرشِّح التالي إلى ملف functions.php الخاص بقالبك.

السماح بالروابط إلى صفحات بلغات أخرى
add_filter( 'wpml_sl_blacklist_requests', 'wpml_sl_blacklist_requests', 10, 2 );

function wpml_sl_blacklist_requests( $blacklist, $sitepress ) {
    $blacklist[] = 'documentation';
    return $blacklist;
}

في الكود أعلاه، استخدم مصفوفة $blacklist لتحديد جميع المعرّفات النصية لعناوين URL للصفحات باللغات الأصلية التي تريد الربط بها.

في مثالنا، نريد الربط بالنسخة الإنجليزية من صفحتي «Documentation» (بالمعرّف النصي «documentation») و «Page Builders» (بالمعرّف النصي «page-builders»)، لذا نستخدم السطرين التاليين:

مثال على تحديد قائمة عناوين URL المسموح بالربط بها
$blacklist[] = 'documentation';

$blacklist[] = 'page-builders';

بشكل افتراضي، لا تبحث إضافة روابط ثابتة عن الروابط التي تُنشئها الأكواد المختصرة.

إذا كان لديك كود مختصر في صفحتك يُنشئ رابطاً مثل «?page_id=XX»، فسيتم عرضه لمستخدميك دون تحويله إلى رابط دائم.

للتعامل مع محتوى الأكواد المختصرة هذا باستخدام روابط ثابتة، أضف هذا المقتطف إلى ملف functions.php الخاص بك:

التعامل مع الروابط داخل محتوى الأكواد المختصرة
if ( class_exists( 'WPML_Sticky_Links' ) ) {
	global $WPML_Sticky_Links;
	add_filter( 'do_shortcode_tag', [ $WPML_Sticky_Links, 'show_permalinks' ], 0 );
}

بقلم Amir · آخر تحديث 19 فبراير 2025