WPML

نظرة عامة على المشكلة

عند استخدام RankMath SEO أو Yoast SEO مع الملحق الخاص بنا WPML SEO، قد تواجه قيم hreflang غير صحيحة في خريطة الموقع. بدلاً من استخدام قيم hreflang المحددة في إعدادات لغة WPML، تأخذ خريطة الموقع رمز اللغة (على سبيل المثال، nz، au) بدلاً من الرمز الكامل المتوقع (على سبيل المثال، en-nz، en-au).

حل بديل مؤقت

تم إصلاح هذه المشكلة في WPML SEO 2.2.3. يحل التحديث المشكلة على موقعك، لذا لا تحتاج إلى هذا الحل البديل المؤقت إلا إذا لم تتمكن من التحديث بعد.

يُرجى التأكد من أخذ نسخة احتياطية كاملة لموقعك قبل المتابعة.

  • افتح الملف …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php.
  • ابحث عن السطر 180.
  • استبدل:
    private function getAlternateLinks( $alternateLangs ) {
        $buildAlternateLink = function ( $url, $lang ) {
            return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $lang ) . '" href="' . esc_url( $url ) . '" />';
        };
  • بـ:
    private function getAlternateLinks( $alternateLangs ) {
        $buildAlternateLink = function ( $url, $lang ) {
            $languages = apply_filters( 'wpml_active_languages', null, [] );
            $hreflang = isset( $languages[ $lang ]['tag'] ) ? $languages[ $lang ]['tag'] : $lang;
    
            return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $hreflang ) . '" href="' . esc_url( $url ) . '" />';
        };

جميع المشكلات المعروفة

هل ما زلت تواجه هذه المشكلة؟

إذا لم يحل التحديث المشكلة، فاطرح استفسار الدعم وسنبحث في الأمر معك.