在WooCommerce新訂單電子郵件通知的主題中新增產品名稱
P粉990008428
P粉990008428 2023-08-18 08:55:45
0
1
702
<p>我想要修改發送給店主的電子郵件的主旨行,將產品名稱放入其中。 我看到了這段程式碼,可以將客戶的名字放在前面 我該如何調整這段程式碼來包含產品名稱</p> <pre class="brush:php;toolbar:false;">/* * 放在主題的functions.php或自訂外掛中 * * 主題過濾器: * woocommerce_email_subject_new_order * woocommerce_email_subject_customer_processing_order * woocommerce_email_subject_customer_completed_order * woocommerce_email_subject_customer_invoice * woocommerce_email_subject_customer_note * woocommerce_email_subject_low_stock * woocommerce_email_subject_no_stock * woocommerce_email_subject_backorder * woocommerce_email_subject_customer_new_account * woocommerce_email_subject_customer_invoice_paid **/ add_filter('woocommerce_email_subject_new_order', 'change_admin_email_subject', 1, 2); function change_admin_email_subject( $subject, $order ) { global $woocommerce; $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES); $subject = sprintf( '[%s] 新客戶訂單(# %s) 來自姓名%s %s', $blogname, $order->id, $order->billing_first_name, $order->billing_last_name ) ; return $subject; }</pre> <p>也許我們只需要在這裡進行修改</p> <pre class="brush:php;toolbar:false;">$subject = sprintf( '[%s] 新客戶訂單(# %s) 來自姓名%s %s', $blogname, $item-> ;get_name, $order->billing_first_name, $order->billing_last_name ); return $subject; }</pre> <p><br /></p>
P粉990008428
P粉990008428

全部回覆(1)
P粉207483087

您的實際程式碼已經過時...要將購買的產品名稱(和數量)新增至發送給管理員的新訂單電子郵件通知的主題中,請使用以下程式碼:

add_filter('woocommerce_email_subject_new_order', 'change_email_subject_new_order', 10, 2);
function change_email_subject_new_order( $formatted_subject, $order ) {
    $products = array(); // 初始化

    // 循环遍历订单项目
    foreach( $order->get_items() as $item ){
        // 将格式化的产品名称和数量添加到数组中
        $products[] = sprintf( '%s &times; %d', $item->get_name(), $item->get_quantity() );
    }

    $count    = count($products); // 产品数量
    $products = implode(', ', $products); // 将数组转换为字符串

    return sprintf( 
        __('[%s] 新客户订单(#%s),%s,来自%s%s', 'woocommerce'), 
        wp_specialchars_decode(get_option('blogname'), ENT_QUOTES), $order->get_order_number(), 
        sprintf( _n('产品(%s)', '产品(%s)', $count, 'woocommerce'), $products, $products ),
        $order->get_billing_first_name(), $order->get_billing_last_name() 
    );
}

將程式碼放在您的子主題的functions.php檔案中(或外掛程式中)。經過測試,可以正常工作。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!