php - plugin - wpml and woocommerce
Cambiar la URL de "volver a comprar" para todos los idiomas con el complemento WPML (1)
Actualización2: en su código, debe usar:
-
wc_get_page_id()
de WooCommerce para obtener la ID de la página de la tienda de WooCommerce. - WPML
wpml_object_id
filter hook para obtener el ID de la página traducida del idioma actual de la tienda. - WooCommerce
wc_get_page_permalink()
utilizado por el filtro hook (ver AQUÍ )
Con ese material, puede obtener el enlace traducido actual de la tienda (o cualquier otro enlace).
Entonces tu código será:
add_filter( ''woocommerce_return_to_shop_redirect'', ''wc_empty_cart_redirect_url'' );
function wc_empty_cart_redirect_url() {
// Getting the shop ID
$shop_id = wc_get_page_id( ''shop'' );
// Getting the current language ID for the shop page
$current_lang_id = apply_filters( ''wpml_object_id'', $shop_id, ''page'', TRUE );
// Getting the post object for the ID
$post = get_post($current_lang_id);
// Getting the slug from this post object
$slug = $post->post_name;
// We re-use wc_get_page_permalink() function just like in this hook
$link = wc_get_page_permalink( $slug );
return $link;
}
El código va en el archivo function.php de su tema hijo activo (o tema) o también en cualquier archivo de complemento.
Finalmente probé y funciona ...
En mi tienda web de WooCommerce me gustaría cambiar la URL " Volver a comprar" a una URL personalizada. Traté de usar el siguiente código en el archivo function.php
de mi tema activo, pero no funciona.
En mi sitio web, tengo cinco idiomas activos administrados por el complemento comercial WPML . También ejecuta un script que asegura que los visitantes de estos países sean redirigidos a su propio idioma.
/**
* Changes Return to Shop button URL on Cart page.
*
*/
function wc_empty_cart_redirect_url() {
return ''http://pacsymposium.com/'';
}
add_filter( ''woocommerce_return_to_shop_redirect'', ''wc_empty_cart_redirect_url'' );
¿Cómo puedo hacer que esto funcione para obtener el enlace actual de la tienda de idiomas?
Gracias.