[Resuelto] La página de "profile builder" no funciona en ambos idiomas
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.
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;
}
}
}
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.
Me pasa exactamente lo mismo. He creado un área de perfil de usuario con jet engine y no funciona en ambos idiomas, si conecto en inglés no funciona desaparece en español y viceversa.
¿Han encontrado la compatibilidad / solución? es muy importante.
Parece que hay un par de cadenas de administración para opciones que debes traducir.
La idea es configurar esas opciones en el idioma predeterminado y traducirlas en WPML > Traducción de cadenas. Tendrás que ir a "Traducir textos en las pantallas de administración »" para que estén disponibles.
Si esto no resuelve el problema, ¿podrías instalar Jet Engine en su ultima version en este sitio de prueba y recrear el problema con un ejemplo sencillo?
Inicio de sesión con un clic: enlace oculto
Déjeme un mensaje breve en este ticket una vez que hayas terminado con esta tarea.
¿Podrías aumentar el límite de memoria de WordPress (WP MEMORY LIMIT) a al menos 256 MB? WPML requiere al menos 128M.
Tus valores actuales son:
Límite de memoria PHP 512M
Límite de memoria de WP 40 M
Para hacer esto, debes conectarse al servidor de tu sitio web y abrir el archivo wp-config.php en un editor de texto. El archivo se encuentra en el directorio raíz de WordPress.
Agregues este código al archivo wp-config.php para aumentar la memoria de WordPress:
define ('WP_MEMORY_LIMIT', '256M');
Agregues esto justo antes de este comentario:
/* ¡Eso es todo, deja de editar! Feliz blogueo. */
Los valores actuales se pueden ver en WPML > Soporte > WordPress.
Estas configuraciones pueden ser restringidas directamente por su proveedor de hosting. Por lo tanto, recomiendo contactarlos y pedirles que los cambien directamente si los cambios no se aplican de inmediato.
Me gustaría solicitar acceso temporal (wp-admin) a tu sitio para analizar mejor el problema.
Encontrarás los campos necesarios para esto debajo del área de comentarios cuando inicies tu sesión para dejar tu próxima respuesta. La información que ingresarás es privada, lo que significa que solo tu y yo podemos verla y tener acceso a ella.
IMPORTANTE
Realices una copia de seguridad de los archivos del sitio y de la base de datos antes de proporcionarnos acceso.
Si no ves los campos wp-admin/FTP, esto significa que los detalles de inicio de sesión de tu sitio web se harán PÚBLICOS. NO publiques los detalles de tu sitio web a menos que veas los campos requeridos de wp-admin/FTP. Si no es así, pídeme que habilite la casilla privada. La caja privada se ve así: enlace oculto
Los pasos también se muestran en este video: enlace oculto
Adjunto capturas.
La página de Mi cuenta no es la misma que Area de cliente, la de Wocommerce es Mi Cuenta y area de cliente es otra solo para el profile builder de jet engine.
Me parece que JetEngine Profile Builder aún no es totalmente compatible con WPML.
Normalmente, en este caso, hay que traducir el ID de la página.
La página "área de clientes" tiene ID 2854.
La página "área de clientes" tiene ID 954.
En WPML > Traducción de cadenas se asignó el ID 2854 al idioma español y ahora lo cambié a inglés.
Luego hice la traducción del 2854 al 954.
Desafortunadamente, eso no resuelve el problema. La página "client area" aún no tiene contenido de usuario.
Puedo ofrecerte proporcionar un sitio de prueba de WPML en el que pueda instalar JetEngine en su última versión disponible y podemos intentar recrear el problema y escalarlo internamente.
Por favor, instales la última versión de JetEngine en el siguiente sitio de prueba y me dejes un breve comentario una vez que hayas terminado con esta prueba para que puedo ejecutar las pruebas.
Después de realizar algunas pruebas, ya no podemos detectar el problema en nuestro sitio de pruebas.
Para hacer esto, eliminamos toda la cadena admin_texts del complemento JetEngine en la traduccion de cadena, guardamos las opciones nuevamente en JetEngine y tradujimos Elementor Tempaltes nuevamente.
Tengas en cuenta que se espera que las opciones de JetEngine solo deban guardarse en el idioma predeterminado del sitio web. En nuestra prueba no fue necesaria una traducción de las opciones.
Después de eso funcionó como se esperaba.
Desafortunadamente, esto todavía no parece funcionar como se esperaba en tu sitio web.
¿Podrías crear un staging (clon del sitio web) en el que registres Elementor PRO, JetEngine y WPML?
Asi pueda actualizarlo allí todo los complementos y asi podria probar si el sitio funciona en una configuración mínima.