Saltar navegación

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.

Etiquetado: 

Este tema contiene 26 respuestas, tiene 3 voces.

Última actualización por Andreas W. hace 1 año, 2 meses.

Asistido por: Andreas W..

Autor Publicaciones
marzo 21, 2024 a las 8:00 am #15434604

Andreas W.
Partidario de WPML desde 12/2018

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

Lamentablemente, no encuentro el motivo ni la solución al problema en tu sitio, pero el problema parece ser que la plantilla de página no está disponible en inglés.

Tomaré una copia del sitio para ejecutar algunas pruebas más en un servidor virtual y luego me comunicaré contigo.

marzo 21, 2024 a las 9:30 pm #15438364

Andreas W.
Partidario de WPML desde 12/2018

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

Lamento mucho el retraso, pero a pesar de numerosas pruebas, hasta el momento no puedo encontrar una solución al problema y le he pedido a mi colega del equipo de compatibilidad que eche un vistazo a tu sitio web.

Tan pronto como tenga noticias, me pondré en contacto contigo nuevamente.

marzo 22, 2024 a las 10:32 pm #15442581

Andreas W.
Partidario de WPML desde 12/2018

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

Hola,

Descubrí que la pantalla "suscripciones" utiliza una condición de visualización dinámica en la que están determinas diferentes roles de usuario. Verá la condición "AND", lo que significa que el usuario debe tener todos esos roles de usuario asignados. Es muy poco probable que, por ejemplo, un anfitron también sea administrador y cliente al mismo tiempo. Configuré la opción "OR" en la plantilla original y traduje la plantilla nuevamente.

Por alguna razón que todavía no entiendo, esto no resuelve el problema de la página "área de cliente", pero si creo una página completamente nueva y la traduzco, funciona:

enlace oculto

Por favor revisa y déjame saber lo que piensas.

Saludos
Andreas

marzo 25, 2024 a las 12:07 pm #15446469

ariadnaH

He creado una redirección a esa página que has creado y listo 😛

Mil gracias!!!

marzo 26, 2024 a las 10:58 am #15450676

Andreas W.
Partidario de WPML desde 12/2018

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

De nada - es un poco raro el problema. Parece que el contenido anterior esta dañado.

Esta de acuerdo con la soluccion que he encontrado?

marzo 28, 2024 en 9:26 am #15459502
ariadnaH

Hola!
Lo único que me queda es saber como traducir esos títulos en las pestañas, lo intenté hacer por cada idioma pero no ha funcionad.

Mil gracias

Los hilos nuevos creados por Lucas Vidal de Andrade y vinculados a este se encuentran a continuación:

https://wpml.org/es/forums/topic/split-traducir-titulos/

marzo 28, 2024 a las 2:41 pm #15461234

Lucas Vidal de Andrade
Partidario de WPML desde 11/2023

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch ) Portugués, Brasil (Português )

Zona horaria: America/Sao_Paulo (GMT-03:00)

Hola,

Andreas no estará disponible por unos días. Mi nombre es Lucas, asumiré este ticket hasta que él regrese. He leído todos los mensajes, así que estoy al tanto de lo que está ocurriendo 🙂

En relación a tu última solicitud, he creado un nuevo Ticket. Así, podemos separar los problemas y facilitar para los usuarios que tengan problemas similares en el futuro 🙂

https://wpml.org/es/forums/topic/split-traducir-titulos/

Te responderé por allí.

Abril 2, 2024 a las 7:55 am #15471324

Andreas W.
Partidario de WPML desde 12/2018

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

Hola,

Veo que Lucas he creado un nuevo ticket por el problema de los títulos en las pestañas.

Si no necesitas más ayuda con respecto al tema de este ticket, no dudes en marcarlo como "Resuelto".

Saludos
Andrés

Abril 10, 2024 a las 4:24 pm #15505766

Andreas W.
Partidario de WPML desde 12/2018

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

En mi sitio de prueba, no tengo disponible el widget "Profile Subpage Content".

¿Tienes alguna idea de por qué es eso?

Abril 16, 2024 a las 7:30 pm #15528168

Andreas W.
Partidario de WPML desde 12/2018

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

He elevado el problema nuevamente a nuestro equipo de compatibilidad y me comunicaré contigo una vez que reciba sus comentarios.

Abril 25, 2024 a las 2:45 pm #15566257

Andreas W.
Partidario de WPML desde 12/2018

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

Hola,

Tenemos una solución para este problema, que necesita la cooperación del autor de JetEngine:

Abre el archivo app/public/wp-content/plugins/jet-engine/includes/modules/profile-builder/inc/rewrite.php file

Reemplace la siguiente línea (alrededor de la línea 57):

$pages  = Module::instance()->settings->get_pages();

Con:

$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;
		}
	}
}

Ahora abre el archivo app/public/wp-content/plugins/jet-engine/includes/modules/profile-builder/inc/query.php file

Reemplace la siguiente línea (alrededor de la línea 53):

$user    = get_query_var( Module::instance()->rewrite->user_var );

Con:

$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 necesita mi ayuda para aplicar esta solución, hágamelo saber.

IMPORTANTE: Realices una copia de seguridad de su sitio y base de datos, en caso de que apliques la solución y avísenos si resolvió el problema.

Saludos
Andreas

Abril 25, 2024 a las 2:47 pm #15566261

Andreas W.
Partidario de WPML desde 12/2018

Idiomas: Inglés (English ) Español (Español ) Alemán (Deutsch )

Zona horaria: America/Lima (GMT-05:00)

Creo que podemos cerrar aquí, como ya lo estamos comunicando en este ticket:

https://wpml.org/es/forums/topic/split-translate-titulos/page/2/

¿Puedes confirmarlo o simplemente marcar este ticket como resuelto?