问题描述
所以我有一个从 Woocommerce 购物车中提取信息的脚本。
发生了什么:
- 如果 wp_cache_get 成功,脚本将初始化。
- 使用一个函数创建变量,该函数告诉我购物车中有多少来自特定类别的商品。
- 我创建了一个数组,其中给出了我的商品名称(一箱啤酒,按瓶数)和价值,该价值是从我的 cat_cart_count() 类别函数中提取的。
- FOREACH 循环开始,如果 item 少于 4,它将创建一条消息。如果超过 4 个,则发送另一条消息。
但事情就是这样。如果 $count
导致循环中的项目超过 1 个,我需要能够更改该消息。
原因是,如果它们有 3 个符合条件的类别 ( $pack_count < 4
),我不想将相同的消息重复 3 次以上。
如果 $count
(循环外,循环内的项目数)大于 2,我希望能够更改消息...例如:
if ( $count >= 2 ) {
echo 'Oh wow,you have $pack_count in your cart. That is a lot of beer.';
}
任何其他消息都将被隐藏。这基本上是一种根据购物车中的商品及其数量在迷你购物车内显示许多不同消息的方法。
我这样做对吗?我怎样才能做到这一点?
// define the woocommerce_after_mini_cart callback
function action_woocommerce_after_mini_cart() {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$initialize = wp_cache_get( 'pack_building' );
if ( $initialize ) {
$the_six = cat_cart_count( "6" );
$the_12 = cat_cart_count( "12" );
$the_24 = cat_cart_count( "24" );
$first_name = get_user_Meta( get_current_user_id(),'billing_first_name',true );
$packs;
$packs["6-pack"] = $the_six;
$packs["12-pack"] = $the_12;
$packs["24-pack"] = $the_24;
$count = 0;
foreach( $packs as $name => $pack_count ){
if ( $pack_count ) {
$count_diff = abs( $pack_count - 4 );
$count = $count + 1;
//if less than 4 packs
if ( $pack_count < 4 ) {
$msg = "You have $pack_count - 7 Boxes of $name";
echo $msg;
}
//if more than 4 packs
else {
$msg = "You have over 4 - $pack_count of $name . You're saving big time!";
echo $msg;
}
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)