WPML Sticky Links يمنع الروابط بين الصفحات والمقالات من الانقطاع أبدًا، حتى لو تم نقل الصفحات وإعادة تسميتها.
يجعل WordPress من السهل جدًا تغيير عناوين الصفحات، مما يؤدي إلى انقطاع جميع الروابط الواردة (خطأ 404). فيما يلي بعض الإجراءات التي قد تؤدي إلى حدوث خطأ 404:
- تغيير أصل الصفحة
- تغيير السبيكة
- تغيير بنية الرابط الثابت للموقع
يمنع WPML التغييرات في عناوين URL من تعطيل الروابط الواردة. عندما تنشئ رابطًا، يقوم WPML تلقائيًا بجعله لزجًا. بدلاً من تخزين عنوان URL لتلك الصفحة (في وقت إنشاء الرابط)، فإنه يخزن رقم الصفحة. هذا لا يمكن أن يتغير أبداً، مهما فعلت.
بعد ذلك، عندما يتم عرض الصفحة، يقوم WPML بإدراج الرابط الثابت للصفحة التي تقوم بالارتباط بها. عندما يتغير عنوان URL، يتم تحديث جميع الصفحات التي ترتبط به على الفور وترتبط بالعنوان الصحيح.
تُظهر لقطات الشاشة التالية كيف تبدو الروابط الداخلية في قاعدة البيانات، بمجرد تمكين Sticky Links.
لن يرى المستخدمون لديك هذه الروابط “الغريبة” أبدًا. بدلاً من ذلك، سيقوم WPML باستبدالها بالروابط الثابتة الحالية عند عرض الصفحات.
عناصر التحكم في الروابط اللاصقة
بمجرد تمكين وحدة Sticky Links يمكنك التحكم في السلاسل التي تتعامل معها. للقيام بذلك، انتقل إلى WPML → صفحة الروابط اللاصقة .
بشكل افتراضي، سيقوم WPML بتحويل جميع الروابط في نص المقالة إلى روابط ثابتة. يمكنك أيضًا تحويل الروابط في الأدوات الذكية والسلاسل إلى روابط ثابتة.
سيسمح لك WPML باستبدال جميع الروابط العادية بروابط ثابتة دفعة واحدة. سيبلغ أيضًا عن أي روابط معطلة موجودة ويساعد في إصلاحها.
إذا قمت بتمكين Sticky Links بعد إنشاء بعض المحتوى، فلن يتم تحويل الروابط الموجودة في هذا المحتوى الموجود إلى روابط ثابتة على الفور.
تخبرك شاشة إدارة Sticky Links مقدار المحتوى الذي يمكن أن يتضمن روابط عادية (غير لاصقة). يستطيع WPML فحص ذلك المحتوى وتحويل جميع الروابط إلى روابط ثابتة. انقر على زر المسح الضوئي للقيام بذلك.
يمكنك دائمًا إعادة روابطك إلى الروابط الثابتة العادية (غير الثابتة) بالنقر على إعادة الروابط الثابتة إلى روابط ثابتة.
الارتباط بصفحات بلغة مختلفة
في بعض الأحيان، قد ترغب في إدراج رابط إلى صفحة بلغة أخرى. نظرًا لأن Sticky Links تعدل الروابط تلقائيًا، فقد يمنعك من القيام بذلك وتعديل الرابط للإشارة إلى نفس اللغة بدلاً من ذلك.
لتتمكن من إضافة روابط إلى صفحات بلغات أخرى، تحتاج إلى إضافة الفلتر التالي إلى ملف function.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 للصفحات باللغات الأصلية التي تريد الربط بها.
في مثالنا، نريد الارتباط بالنسخة الإنجليزية من صفحتي “الوثائق” (سبيكة “وثائق”) و”منشئو الصفحات” (سبيكة “منشئو الصفحات”)، لذا نستخدم السطرين التاليين
$blacklist[] = 'documentation'; $blacklist[] = 'page-builders';
التعامل مع الروابط داخل محتوى الرمز القصير
بشكل افتراضي، لا تقوم إضافة Sticky Links بالبحث عن الروابط التي تم إنشاؤها بواسطة الرموز القصيرة.
إذا كان لديك كود قصير على صفحتك ينشئ رابطًا مثل “?page_id=XX“، فسيتم عرضه للمستخدمين دون تحويله إلى رابط ثابت.
للتعامل مع محتوى هذا الرمز القصير مع Sticky Links أضف هذا المقتطف إلى ملف function.php الخاص بك:
if ( class_exists( 'WPML_Sticky_Links' ) ) { global $WPML_Sticky_Links; add_filter( 'do_shortcode_tag', [ $WPML_Sticky_Links, 'show_permalinks' ], 0 ); }