Uso de Clerk.io con WPML en WooCommerce

Clerk.io puede integrarse en varios idiomas que compartan el mismo backend de WooCommerce

Cuando uses WPML en WooCommerce, deberías poder diferenciar tus idiomas por URL, así:

Si tienes URLs únicas como estas, puedes extender el plugin WooCommerce para que soporte WPML.

También es posible definir el idioma a través del parámetro lang. Ej.

1. Crear tiendas

La forma más sencilla de implementar Clerk.io en múltiples dominios en configuraciones estándar es creando un Tienda independiente para cada dominio en mi.clerk.io.

De esta forma, puedes separar productos, ventas, divisas, etc. para hacer un seguimiento de cada dominio.

1. Empieza creando tu Tienda principal y sigue la Guía de configuración para conectar tu Tienda a Clerk.io, y elige las Recomendaciones y/o Resultados de búsqueda que quieres mostrar en tu tienda online.

2. Cuando haya terminado con la configuración inicial, vuelva a la página de inicio de my.clerk.io (haciendo clic en el logotipo Clerk.io en la esquina superior izquierda del menú lateralu) y, a continuación, haga clic en "+ Añadir nueva tienda “ la última opción de la lista desplegable (generalmente debajo de usted la(s) tienda(s) existente(s) y el nombre de su empresa).:

3. En la página Añadir nueva tienda, haz clic en Avanzado para ver todos los ajustes.

4. Rellene los datos de su tienda virtual y elija su tienda principal en el menú desplegable Copiar contenido de tienda existente y, a continuación, haga clic en Añadir tienda.

Esto transferirá el Contenido y los Diseños de su tienda principal.

Recuerde traducir Titulares, en Contenido-> Editar -> Seleccionar Diseño al idioma correcto también.

2. Instalar y Configurar

El soporte oficial para WPML ha sido añadido a Clerk.io WooCommerce Extension, lo que significa que mientras uses esa versión o una más reciente, WPML debería ser soportado.

En el panel de ajustes de woocommerce verá los ajustes de forma normal. Si WPML está activo y configurado en tu sitio WordPress, verás Multi Language Scope con el idioma actual hacia la parte superior de la página de ajustes.

Para cambiar el idioma, utilice el selector del panel superior. Deberá seleccionar el idioma para el que desea configurar Clerk e introducir los ajustes deseados. Repita esta operación para cada idioma.

Tenga en cuenta que si selecciona “Todos los idiomas” en este menú desplegable, no es aconsejable que guarde la configuración, ya que sólo guardará la configuración como alternativa.

3. Sincronice sus dominios

Una vez que haya extendido el plugin, ahora puede sincronizar cada una de sus Tiendas con su dominio de idioma.

Como ya has instalado la extensión puedes saltarte el primer paso y empezar directamente a configurarlo y sincronizar datos.

8. Cuando la Sincronización haya terminado, su dominio estará listo y utilizando la misma configuración que su Tienda principal.

Inserte el código en la función private function validateRequest($request), y asegúrese de reemplazar la parte inferior, por lo que sólo el código anterior tiene return true.

Debería quedar así:

2.2. plugins > clerk-woocommerce-x.x.x > includes > class-clerk-visitor-tracking.php

Este archivo es responsable de obtener los resultados de idioma correctos en función de la clave de la API pública de sus tiendas en my.clerk.io.

Inserte el siguiente código cerca del script de seguimiento, justo antes de la etiqueta de cierre ?> y, de nuevo, asegúrese de que está utilizando los códigos de idioma correctos y sustituya INSERT_PUBLIC_KEY por la clave pública correcta de su tienda:

Luego, dentro de Clerk(‘config’, inserta el siguiente código como clave:

Por último, elimina el idioma establecido en Clerk.js.

Es este código que debe ser eliminado:

Comprueba esta captura de pantalla para asegurarte de que tu código es correcto:

2.3. plugins > clerk-woocommerce-x.x.x > includes > class-clerk-api.php

Este archivo es responsable de las actualizaciones en tiempo real de cada una de las Tiendas.

Comienza añadiendo las siguientes dos variables protegidas, debajo de $logger:

A continuación, dentro de la función pública __construct() inserte el siguiente código, utilizando sus códigos de idioma y claves de API Públicas/Privadas:

Por último, utilice el siguiente código para obtener la clave y private_key dentro de cada una de las funciones removeProduct, addProduct y getContent.

Comprueba las capturas de pantalla siguientes para asegurarte de que tu código es correcto:

3. Sincronice sus dominios

Una vez que haya extendido el plugin, ahora puede sincronizar cada una de sus Tiendas con su dominio de idioma.

Como ya has instalado la extensión puedes saltarte el primer paso y empezar directamente a configurarlo y sincronizar datos.

8. Cuando la Sincronización haya terminado, su dominio estará listo y utilizando la misma configuración que su Tienda principal.