You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改WooCommerce优惠券邮件:显示商品/分类名称及链接

WooCommerce优惠券邮件:ID转名称+链接解决方案

1. 添加ID转换函数

将以下代码添加到你的主题functions.php文件或自定义功能插件中:

// 商品ID转带链接的商品名称
function get_product_name_link( $product_id ) {
    $product = wc_get_product( $product_id );
    if ( ! $product ) return '无效商品';
    
    $product_name = esc_html( $product->get_name() );
    $product_link = esc_url( $product->get_permalink() );
    
    return "<a href='{$product_link}'>{$product_name}</a>";
}

// 分类ID转带链接的分类名称
function get_category_name_link( $category_id ) {
    $category = get_term( $category_id, 'product_cat' );
    if ( ! $category || is_wp_error( $category ) ) return '无效分类';
    
    $category_name = esc_html( $category->name );
    $category_link = esc_url( get_term_link( $category ) );
    
    return "<a href='{$category_link}'>{$category_name}</a>";
}

2. 修改邮件内容输出逻辑

找到你原有代码中生成邮件内容的部分,将直接输出商品/分类ID的代码替换为调用上述函数的代码:

替换前(示例):

// 原代码中输出商品ID
$email_body .= '关联商品ID:' . $target_product_id . '<br>';
// 原代码中输出分类ID
$email_body .= '关联分类ID:' . $target_category_id . '<br>';

替换后:

// 输出带链接的商品名称
$email_body .= '关联商品:' . get_product_name_link( $target_product_id ) . '<br>';
// 输出带链接的分类名称
$email_body .= '关联分类:' . get_category_name_link( $target_category_id ) . '<br>';

3. 确保邮件支持HTML格式

如果你的邮件发送逻辑是自定义的,需确保添加HTML格式的请求头,避免链接显示为纯文本:

$headers = array( 'Content-Type: text/html; charset=UTF-8' );
wp_mail( $customer_email, '你的优惠券主题', $email_body, $headers );

内容的提问来源于stack exchange,提问作者brc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 08:42:07