WooCommerce在处理订单电子邮件中添加产品链接

时间:2014-03-13 10:20:50

标签: wordpress woocommerce

我想在订购时收到的处理订单电子邮件中添加产品链接。当订单发出订单电子邮件时,我想在用户点击时点击重定向到详细产品页面时获取产品链接。有没有办法,我得到产品链接或产品标题是超链接。

感谢

4 个答案:

答案 0 :(得分:4)

我目前正在使用此解决方案,我在另一页的评论中找到了该解决方案。这不是我的代码。

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>';

}

答案 1 :(得分:0)

我一直想知道这是如何运作的。几乎没有任何信息可用 - 至少没有详细的分步说明。

我提出的最佳解决方案是编辑customer-processing-order.php。

我所做的只是在文本编辑器中打开并添加了几行文字:

“您的订单已收到,现在正在处理中。您的订单详情如下所示,供您参考。请访问”http://www.youlinkurl“。

最终用户不得不复制并粘贴该链接,但至少它可以正常工作。

答案 2 :(得分:0)

gunbunnysoulja的答案非常有效,但需要两个小小的更新:

  • get_product需要是wc_get_product
  • $ _ product-&gt; id需要为$ _product-&gt; get_id()

更新的答案如下:

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

答案 3 :(得分:0)

要将产品名称与其订单电子邮件中的产品页面链接起来,请打开子主题的functions.php 文件并添加以下代码片段:

* 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>'; 
    }