סקירת התקלה
אם אתה משתמש בתכונה Profile Builder של התוסף JetEngine, תגלה שהאפשרויות אינן מוחלות בשפה המשנית.
פתרון עוקף
בעיה זו תוקנה. עדכון לגרסה העדכנית ביותר פותר זאת באתר שלך, לכן אתה זקוק לפתרון עוקף זה רק אם עדיין אינך יכול לעדכן.
אנא ודא שיש לך גיבוי מלא של האתר לפני שתמשיך.
חלק 1
- פתח את הקובץ …/wp-content/plugins/jet-engine/includes/modules/profile-builder/inc/rewrite.php.
- חפש את שורה 57.
- החלף את:
$pages = Module::instance()->settings->get_pages();
- ב:
$pages = Module::instance()->settings->get_pages(); // WPML Workaround for compsupp-7264 - PART 1 if ( class_exists('Sitepress') && isset( $pages['account_page'] ) ) { // Get WPML Active Languages $wpml_languages = apply_filters( 'wpml_active_languages', NULL, 'orderby=id&order=desc' ); // Let's add a new item in $pages array for each language, so it can also create rewrite rules for it foreach( $wpml_languages as $language ) { if ( $language['language_code'] != apply_filters('wpml_default_language', NULL ) ) { $account_page_id = $pages['account_page']; // The new item should have the translated account page ID $translated_account_page_id = apply_filters( 'wpml_object_id', $account_page_id , get_post_type($account_page_id) , TRUE, $language['language_code'] ); $pages['account_page_'.$language['language_code']] = $translated_account_page_id; } } }
חלק 2
- פתח את הקובץ …/wp-content/plugins/jet-engine/includes/modules/profile-builder/inc/query.php.
- חפש את שורה 53.
- החלף את:
$user = get_query_var( Module::instance()->rewrite->user_var );
- ב:
$user = get_query_var( Module::instance()->rewrite->user_var ); // WPML Workaround for compsupp-7264 - PART 2 if ( class_exists('Sitepress') ) { // Let's create a with the query_var of the account page in each language $account_pages = []; $wpml_languages = apply_filters( 'wpml_active_languages', NULL, 'orderby=id&order=desc' ); foreach( $wpml_languages as $language ) { if ( $language['language_code'] != apply_filters('wpml_default_language', NULL ) ) { $account_pages[] = 'account_page_'.$language['language_code']; } } // If the current query_var match with our array items, let's "fix" the $page variable so the switch works correctly if ( in_array( $page, $account_pages) ) { $page = 'account_page'; } } - עבור אל העמוד הגדרותקישורים קבועים ושמור מחדש את הקישורים הקבועים