Este hilo está resuelto. Aquí tienes una descripción del problema y la solución.
Problema:
Si estás experimentando problemas con el área de perfil de usuario creada con JetEngine que no funciona correctamente en ambos idiomas, tenemos una solución que requiere la cooperación del autor de JetEngine.
Solución:
Primero, realiza una copia de seguridad de tu sitio y base de datos antes de aplicar cualquier cambio.
1. Abre el archivo
app/public/wp-content/plugins/jet-engine/includes/modules/profile-builder/inc/rewrite.php
y reemplaza la línea alrededor de la línea 57:
$pages = Module::instance()->settings->get_pages();
Con el siguiente código que incluye un arreglo para WPML:
$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. Ahora abre el archivo
app/public/wp-content/plugins/jet-engine/includes/modules/profile-builder/inc/query.php
y reemplaza la línea alrededor de la línea 53:
$user = get_query_var( Module::instance()->rewrite->user_var );
Con el siguiente código que es la segunda parte del arreglo para WPML:
$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'; } }
Si después de seguir estos pasos el problema persiste o si necesitas ayuda para aplicar esta solución, por favor, avísanos. Es posible que esta solución pueda ser irrelevante debido a que está desactualizada o no se aplica a tu caso. Te recomendamos revisar los problemas conocidos, verificar la versión de la solución permanente y confirmar que tienes instaladas las últimas versiones de los temas y plugins. Si el problema continúa, no dudes en abrir un nuevo ticket de soporte en nuestro foro de soporte.
Este es el foro de soporte técnico de WPML, el plugin multilingüe de WordPress.
Todas las personas pueden leerlo pero solo los clientes de WPML pueden ingresar comentarios. El equipo de WPML responde en los foros 6 días a la semana, 22 horas por día.
Este tema contiene 26 respuestas, tiene 3 voces.
Última actualización por hace 1 año, 2 meses.
Asistido por: Andreas W..