我目前在一家網上商店作業,想做一些條件渲染,但我不確定如何讓它作業。現在我有一個腳本,它為籃子中的所有產品提供一個與產品 ID 匹配的類名。
一些產品是可變產品,選擇后包含在主要物件的價格中。該專案也可以單獨購買,因此共享相同的產品 ID。我想要做的是僅將類名添加到價格中包含的產品中。
我的想法是做一個 if 陳述句來確定產品是否將文本“包含在價格中”作為其產品總數,如果是,則添加類名。這個 if 陳述句讓我感到悲傷。這是將類名添加到購物車(以及結帳頁面)中的所有內容的代碼:
Gives cart items a classname equal to the product ID
function so_42237701_cart_item_class( $class, $values, $values_key ) {
if ( isset( $values[ 'product_id' ] ) ) {
$class .= ' custom-' . $values[ 'product_id' ];
}
return $class;
}
add_filter( 'woocommerce_cart_item_class', 'so_42237701_cart_item_class', 10, 3 );
結帳時:
function additional_class_to_order_item_classes ( $class, $values, $values_key ) {
if ( isset( $values[ 'product_id' ] ) ) {
$class .= ' custom-' . $values[ 'product_id' ];
}
return $class;
}
add_filter( 'woocommerce_order_item_class', 'additional_class_to_order_item_classes', 10, 3 );
我將如何繞過以使其成為有條件的?
uj5u.com熱心網友回復:
變體產品包含當前正在回傳的父 ID,并且還具有可以從 $values 獲取的變體 ID,因此您的代碼應如下所示
function so_42237701_cart_item_class( $class, $values, $values_key ) {
//If we have variation ID its variable product
if (!empty($values[ 'variation_id' ])) {
$class .= ' custom-' . $values[ 'variation_id' ];
} else {
$class .= ' custom-' . $values[ 'product_id' ];
}
return $class;
}
add_filter( 'woocommerce_cart_item_class', 'so_42237701_cart_item_class', 10, 3 );
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/381049.html
標籤:php WordPress的 if 语句 求购 条件语句
