- الحالة
- في انتظار المطور
- الإضافة/القالب ذو الصلة
- WP User Manager
- وسوم الموضوع
- Compatibility
نظرة عامة على المشكلة
عند استخدام إضافة WP User Manager ، يؤدي تبديل اللغات في صفحة الملف الشخصي العام للمستخدم (على سبيل المثال، /profile/username) إلى إعادة التوجيه إلى صفحة الملف الشخصي الرئيسية (على سبيل المثال، /fr/profil/) بدلاً من الملف الشخصي المترجم المحدد (على سبيل المثال، /fr/profil/username).
حل بديل مؤقت
يُرجى التأكد من أخذ نسخة احتياطية كاملة لموقعك قبل المتابعة.
- عدّل ملف functions.php الخاص بقالبك وأضف الدالة التالية:
// WPML Workaround for compsupp-8195 // Preserve WPUM profile sub-path when switching languages with WPML. add_filter( 'icl_ls_languages', function( $languages ) { // Only run if WPUM if ( ! function_exists( 'wpum_get_core_page_id' ) ) { return $languages; } // Get profile info from query vars $queried_profile = get_query_var( 'profile', false ); if ( ! $queried_profile ) { return $languages; } // Build the trailing path from query vars $trailing = '/' . rawurlencode( $queried_profile ); // Add tab and pagination if present $tab = get_query_var( 'tab' ); if ( $tab ) { $trailing .= '/' . rawurlencode( $tab ); } $paged = get_query_var( 'paged' ); if ( $paged ) { $trailing .= '/page/' . rawurlencode( $paged ); } // Append to each language URL foreach ( $languages as $key => $lang ) { if ( empty( $lang['url'] ) ) { continue; } $languages[$key]['url'] = rtrim( $lang['url'], '/' ) . $trailing; } return $languages; } );