我寫了一個函式來改變滯銷產品的 "添加到購物車 "按鈕文本。
woocommerce_product_single_add_to_cart_text作業正常,但是使用woocommerce_product_add_to_cart_text會使頁面崩潰。
在錯誤日志中,我看到它凍結了class-wp-term.php。
這是我的函式代碼:
function change_button_text_on_backorder(){
if (! is_admin()) {
global $product;
$qty = $product-> get_stock_quantity();
$button_text = $product-> add_to_cart_text();
if ( $qty < 1 & & $product-> backorders_allowed() ) { //backorders allowed?
$button_text = 'backORDER'。
}
return $button_text;
}
}
add_filter('woocommerce_product_single_add_to_cart_text', 'change_button_text_on_backorder') 。
add_filter('woocommerce_product_add_to_cart_text', 'change_button_text_on_backorder') 。
我使用WordPress 5.8,WooCommerce 5.6。有什么建議嗎?
為什么會崩潰?
uj5u.com熱心網友回復:
你的代碼包含一些錯誤
$product是作為一個引數傳遞的,所以沒有必要使用全域變數$product->add_to_cart_text()也沒有必要,因為這也是作為一個引數傳遞的所以你得到:
function filter_woocommerce_product_add_to_cart_text( $add_to_cart_text, $product ) {
//獲得庫存數量。
$qty = $product->get_stock_quantity() 。
//允許延期交貨嗎?
if ( $qty < 1 & & $product-> backorders_allowed() ) {
$add_to_cart_text = __( 'Backorder', 'woocommerce' ) 。
}
return $add_to_cart_text;
}
add_filter( 'woocommerce_product_add_to_cart_text', 'filter_woocommerce_product_add_to_cart_text', 10, 2 ) 。
add_filter( 'woocommerce_product_single_add_to_cart_text', 'filter_woocommerce_product_add_to_cart_text', 10, 2 ) 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/307832.html
標籤:
