WPML
สถานะ
รอผู้พัฒนา
ปลั๊กอิน/ธีมที่เกี่ยวข้อง
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;
    } );

ปัญหาที่ทราบแล้วทั้งหมด →