第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WooCommerce 訂單電子郵件更改/從產(chǎn)品元中刪除“延期交貨:#”

WooCommerce 訂單電子郵件更改/從產(chǎn)品元中刪除“延期交貨:#”

PHP
炎炎設(shè)計 2023-05-12 14:53:01
我在我的 woocommerce 網(wǎng)站上自定義了延期交貨文本,并且還想將相同的文本添加到訂單確認電子郵件中。例如,我有我的購物車和結(jié)帳,在每個產(chǎn)品的(變體)元下顯示“庫存”或“定制”。為了獲得結(jié)果,我將以下代碼添加到cart.php模板文件中,并在模板文件中添加了類似的代碼review-order.php以使其顯示在結(jié)帳頁面上:// Backorder notification.if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) {    echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="cart_stock_notification made-to-order">' . esc_html__( 'Made-To-Order', 'woocommerce' ) . '</p>', $product_id ) );}else if ( !$_product->backorders_require_notification() && !$_product->is_on_backorder( $cart_item['quantity'] ) ) {    echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="cart_stock_notification made-to-order">' . esc_html__( 'Made-To-Order', 'woocommerce' ) . '</p>', $product_id ) );}else {    echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="cart_stock_notification in-stock">' . esc_html__( 'In Stock', 'woocommerce' ) . '</p>', $product_id ) );}現(xiàn)在我希望在我的訂單確認電子郵件中顯示同樣的內(nèi)容。我特別希望它出現(xiàn)在客戶電子郵件中,但管理員電子郵件也可以。現(xiàn)在,任何延期交貨的產(chǎn)品都在產(chǎn)品元數(shù)據(jù)中顯示為“延期交貨:#”,表示延期交貨的產(chǎn)品數(shù)量。我想刪除那個延期交貨的元數(shù)據(jù),并用購物車和結(jié)帳頁面上使用的相同邏輯替換它,這樣它將在電子郵件中顯示相同的庫存狀態(tài)。set_backorder_meta我知道延期交貨的元是從中的函數(shù)應(yīng)用的class-wc-order-item-product.php,但我不想編輯類文件,因為它會被更新覆蓋。我也不想只更改文本,我需要更改邏輯。如果我可以禁用 set_backorder_meta 應(yīng)用于電子郵件,我想我可以掛鉤woocommerce_order_item_meta_end或只是編輯email-order-items.php模板文件(我都可以)。我的問題是我似乎無法檢查項目“backorders_require_notification”和/或“is_on_backorder”。有沒有辦法在電子郵件確認中禁用默認的延期交貨元數(shù)據(jù)并添加自定義元數(shù)據(jù)以檢查產(chǎn)品是否處于延期交貨狀態(tài)(并且需要延期交貨通知),然后顯示自定義文本?
查看完整描述

1 回答

?
慕森王

TA貢獻1777條經(jīng)驗 獲得超3個贊

在email-order-items.php模板中,wc_display_item_meta()使用了函數(shù)。


如果我們進一步看,我們會看到這個函數(shù)在wc-template-functions.php


https://github.com/woocommerce/woocommerce/blob/master/includes/wc-template-functions.php


所以我們可以通過鉤子覆蓋輸出woocommerce_display_item_meta,通過參數(shù)我們可以獲得關(guān)于產(chǎn)品的必要信息。


function filter_woocommerce_display_item_meta ( $html, $item, $args ) { 

    // Get product

    $product = $item->get_product();

    

    // Html

    if ( $product->backorders_require_notification() && $product->is_on_backorder( $item['quantity'] ) ) {

        $html = '<ul class="wc-item-meta"><li><strong class="wc-item-meta-label" style="float: left; margin-right: .25em; clear: both">Made-To-Order</strong></li></ul>';       

    } else if ( !$product->backorders_require_notification() && !$product->is_on_backorder( $item['quantity'] ) ) {

        $html = '<ul class="wc-item-meta"><li><strong class="wc-item-meta-label" style="float: left; margin-right: .25em; clear: both">Made-To-Order</strong></li></ul>';

    } else {

        $html = '<ul class="wc-item-meta"><li><strong class="wc-item-meta-label" style="float: left; margin-right: .25em; clear: both">In stock</strong></li></ul>';

    }

    

    return $html;

}

add_filter( 'woocommerce_display_item_meta', 'filter_woocommerce_display_item_meta', 10, 3 );

提示:為了使輸出更加動態(tài),您可以通過 args 重寫輸出(您可以在 中看到這是如何完成的wc-template-functions.php)



查看完整回答
反對 回復(fù) 2023-05-12
  • 1 回答
  • 0 關(guān)注
  • 129 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號