簡體   English   中英

自定義管理員 Email 主題為 Woocommerce

[英]Custom Admin Email Subject for Woocommerce

我希望管理員 email 的 Email 主題行根據產品類別進行更改。 我查看了所有類似的堆棧溢出問題,但沒有一個適用於 WooCommerece 3.8.0(參見thisthis )。

我有的是這個

function custom_admin_email_subject( $subject, $order ) {
    global $woocommerce;
    foreach($order->get_items() as $item_id => $item ){
        if ( has_term( 'Category 1 Name', 'product_cat' , $item->get_product_id() ) ) { 
            break;
            $subject = sprintf( 'Category 1 Email Subject Line' );
        }
    } 
    return $subject;
}
add_filter('woocommerce_email_subject_new_order', 'custom_admin_email_subject', 1, 2);

我的代碼僅返回新訂單的默認 email 主題行(在 woocommerce/settings/email 中設置)。 我不明白為什么我的 function 無法識別類別名稱。

誰能告訴我我的代碼有什么問題?

我將此代碼放在我的子主題/功能中。php 文件我正在運行 WooCommerce 3.8.0 和 WordPress 5.3

問題在於您的if condition 只有在$subject變量中設置了值后,您才應該在產品有期限時中斷foreach循環的執行。 重寫你的if condition如下。 已經對此進行了測試並且可以工作:)

if( has_term( 'Category 1 Name', 'product_cat' , $item->get_product_id() ) ){ 
    $subject = sprintf( 'Hoodies Email Subject Line' );
    break;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM