WooCommerce Agregar enlace de producto en el correo electrónico de pedido de procesamiento

3 minutos de lectura

Quiero agregar el enlace del producto en el correo electrónico de procesamiento del pedido que el usuario recibe cuando realiza el pedido. Cuando se realiza un pedido, se envía un correo electrónico de pedido, quiero obtener el enlace del producto allí cuando el usuario hace clic en redirige a la página de detalles del producto cuando se hace clic. ¿Hay alguna forma de obtener el enlace del producto o el título del producto sería un hipervínculo?

GRACIAS

avatar de usuario
Jarom

La respuesta de gunbunnysoulja funciona muy bien pero necesita dos pequeñas actualizaciones:

  • get_product debe ser wc_get_product
  • $_producto->id debe ser $_producto->get_id()

La respuesta actualizada es la siguiente:

add_filter( 'woocommerce_order_item_name', 'display_product_title_as_link', 10, 2 );
function display_product_title_as_link( $item_name, $item ) {

    $_product = wc_get_product( $item['variation_id'] ? $item['variation_id'] : $item['product_id'] );

    $link = get_permalink( $_product->get_id() );

    return '<a href="'. $link .'"  rel="nofollow">'. $item_name .'</a>';
}

  • ¡esto funcionó a las mil maravillas! ¡Muchas gracias por tomarse el tiempo para participar y compartir esto!

    – jord8on

    4 de octubre de 2020 a las 5:57

Actualmente estoy usando esta solución, que encontré en los comentarios en otra página. Este no es mi código.

http://www.vanbodevelops.com/tutorials/add-a-link-back-to-the-order-in-woocommerce-new-order-notifications-email#comment-636

add_filter( 'woocommerce_order_item_name', 'display_product_title_as_link', 10, 2 );
function display_product_title_as_link( $item_name, $item ) {

$_product = get_product( $item['variation_id'] ? $item['variation_id'] : $item['product_id'] );

$link = get_permalink( $_product->id );

return '<a href="'. $link .'"  rel="nofollow">'. $item_name .'</a>';

}

  • Para aquellos interesados, va en el archivo functions.php, no en la plantilla de correo electrónico. Quiero hacerlo compartible en facebook.

    – Jasón

    03/03/2015 a las 20:03

Para vincular el nombre de un producto con su página de producto en los correos electrónicos de su pedido, abra el archivo functions.php de su tema secundario y agregue el siguiente fragmento de código:

* Product Links in WooCommerce Order Emails
*/

    add_filter('woocommerce_order_item_name', 'woocommerce_order_item_link', 10, 3);

    function woocommerce_order_item_link( $item_name, $item, $bool ) {
        $url = get_permalink( $item['product_id'] ) ;
        return '<a href="'. $url .'">'.$item_name .'</a>'; 
    }

Me he estado preguntando cómo funciona esto también. Hay poca información disponible en cualquier lugar, al menos no mucha con instrucciones detalladas paso a paso.

La mejor solución que se me ocurrió es editar el archivo customer-processing-order.php.

Todo lo que hice fue abrirlo en un editor de texto y agregar algunas líneas de texto a:

“Su pedido ha sido recibido y ahora se está procesando. Los detalles de su pedido se muestran a continuación para su referencia. Visite “http://www.youlinkurl“.

Desafortunadamente, el usuario final tendrá que copiar y pegar ese enlace, pero al menos funciona.

¿Ha sido útil esta solución?