更改特定类别的Woocommerce管理员电子邮件通知的主题

时间:2018-01-23 18:51:45

标签: php wordpress woocommerce categories email-notifications

我正在尝试禁用或更改发送给管理员的woocommerce确认电子邮件中的主题行。

我想只为一个特定的产品类别执行此操作。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

更新 (与您的评论相关)

使用挂钩在woocommerce_email_subject_new_order过滤器挂钩中的自定义功能,您可以针对特定产品类别更改“新订单”管理员电子邮件通知的主题。

您必须在下面的代码中定义目标产品类别和自定义主题:

add_filter( 'woocommerce_email_subject_new_order', 'custom_subject_for_new_order', 10, 2 );
function custom_subject_for_new_order( $subject, $order ) {
    $found = $others = false;

    // HERE define your product categories in the array (can be IDs Slugs or Names)
    $categories = array('clothing'); // coma separated for multiples categories

    // HERE define your custom subject for those defined product categories
    $custom_subject  = __("My custom subject goes here", "woocommerce");

    // Loop through order items
    foreach( $order->get_items() as $item ){
        if( has_term( $categories, 'product_cat', $item->get_product_id() ) && $found )
            $found = true; // Category is found
        else
            $others = true; // Other Categories are found
    }
    // Return the custom subject when targeted product category is found but not others.
    return $found && ! $others ? $custom_subject : $subject;
}

代码放在活动子主题(或活动主题)的function.php文件中。

经过测试和工作。