如果元素在 WP/WooCommerce 中有准确的文本,如何有条件地添加类名
How to conditionally add classname if an element has exact text in WP/WooCommerce
我目前正在网上商店工作,想做一些条件渲染,但我不确定如何让它工作。现在我有一个脚本,可以为购物篮中的所有产品提供一个与产品 ID 相匹配的 class 名称。
部分产品为可变产品,选择时已包含在主对象的价格中。该项目也可以单独购买,因此共享相同的产品 ID。我想做的是仅将 class 名称添加到价格中包含的产品。
我的想法是做一个 if 语句来确定产品是否将文本“包含在价格中”作为其产品总计,如果是,则添加 class 名称。这个 if 语句让我感到悲伤。这是将 class 名称添加到购物车(以及结帐页面)中所有内容的代码:
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 );
我如何让它成为有条件的?
变体产品包含当前返回的父 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 );
我目前正在网上商店工作,想做一些条件渲染,但我不确定如何让它工作。现在我有一个脚本,可以为购物篮中的所有产品提供一个与产品 ID 相匹配的 class 名称。
部分产品为可变产品,选择时已包含在主对象的价格中。该项目也可以单独购买,因此共享相同的产品 ID。我想做的是仅将 class 名称添加到价格中包含的产品。
我的想法是做一个 if 语句来确定产品是否将文本“包含在价格中”作为其产品总计,如果是,则添加 class 名称。这个 if 语句让我感到悲伤。这是将 class 名称添加到购物车(以及结帐页面)中所有内容的代码:
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 );
我如何让它成为有条件的?
变体产品包含当前返回的父 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 );