WordPress 6.4 摘要失效问题解决:wp_trim_words()这个函数失效了
// 很多主体是用下面的代码输出摘要的,如果是get_the_excerpt()就没有问题 &n...
所以我在结帐页的账单部分有一些自定义字段,我只想在购物车中有 ID 为(603)的产品时显示这些自定义字段。这…
所以我在结帐页的账单部分有一些自定义字段,我只想在购物车中有 ID 为(603)的产品时显示这些自定义字段。这是我使用的当前代码:
function conditional_checkout_fields_products( $fields ) {
$cart = WC()->cart->get_cart();
foreach ( $cart as $item_key => $values ) {
$product = $values['data'];
if ( $product->id != 603 ) {
unset( $fields['billing']['billing_prev_injuries'] );
unset( $fields['billing']['billing_dogs_events'] );
unset( $fields['billing']['billing_dogs_age'] );
unset( $fields['billing']['billing_dogs_breed'] );
unset( $fields['billing']['billing_dogs_name'] );
}
}
return $fields;
}
add_filter( 'WooCommerce_checkout_fields', 'conditional_checkout_fields_products' );
目前上面的代码用于隐藏字段,如果购物车中有一个产品不是 ID 603,但一个问题是当有 603 时,购物车中的另一个产品会取消设置字段,如果 603 不在购物车中,隐藏字段的最佳方法是什么?如果 603 不在购物车中,显示字段的最佳方法是什么?
以下内容将完成此项工作:
add_filter( 'woocommerce_checkout_fields', 'conditional_checkout_fields_products' );
function conditional_checkout_fields_products( $fields ) {
$is_in_cart = false;
foreach ( WC()->cart->get_cart() as $cart_item ) {
if ( $cart_item['data']->get_id() == 603 ) {
$is_in_cart = true;
break;
}
}
if ( ! $is_in_cart ) {
unset( $fields['billing']['billing_prev_injuries'] );
unset( $fields['billing']['billing_dogs_events'] );
unset( $fields['billing']['billing_dogs_age'] );
unset( $fields['billing']['billing_dogs_breed'] );
unset( $fields['billing']['billing_dogs_name'] );
}
return $fields;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!