当前位置: 首页 > 知识库问答 >
问题:

woocommerce购物车页面按产品价格显示产品订单

孙佐
2023-03-14

我使用Woocommerce插件在wordpress中开发了购物车。我需要按产品价格在购物车订单中显示产品,请帮助我做到这一点

谢啦

共有3个答案

宇文和同
2023-03-14

在大多数情况下,对于操作WordPress生态系统上的数据,答案将是wp filter,没有wp action

此外,WC\u车。cart_contents数组,将产品对象保持在其自身上$cart_contents['data']//WC_Product_对象,因此我们不需要再次获取产品。

add_filter( 'woocommerce_get_cart_contents', 'prefix_cart_items_order' );
function prefix_cart_items_order( $cart_contents ) {
  uasort($cart_contents, 
         fn($a, $b) => 
             $a['data']->get_price() < $b['data']->get_price() ? -1 : 1
  );
  return $cart_contents;
}
add_filter( 'woocommerce_get_cart_contents', 'prefix_cart_items_order' );
function prefix_cmp ($a, $b) { 
  return $a['data']->get_price() < $b['data']->get_price() ? -1 : 1;
}
function prefix_cart_items_order( $cart_contents ) {
  uasort($cart_contents, 'prefix_cmp');
  return $cart_contents;
}
刘弘新
2023-03-14

嗯,就在Woo管理员页面上!!

吴哥商业-

郑嘉悦
2023-03-14

要在Woocommerce购物车中以从低到高或从高到低的价格订购产品,请尝试在功能中添加以下内容。php文件(或插件):

function 12345_cart_updated() {

    $products_in_cart = array();
    // Assign each product's price to its cart item key (to be used again later)
    foreach ( WC()->cart->cart_contents as $key => $item ) {
        $product = wc_get_product( $item['product_id'] );
        $products_in_cart[ $key ] = $product->get_price();
    }

    // SORTING - use one or the other two following lines:
    asort( $products_in_cart ); // sort low to high
    // arsort( $products_in_cart ); // sort high to low

    // Put sorted items back in cart
    $cart_contents = array();
    foreach ( $products_in_cart as $cart_key => $price ) {
       $cart_contents[ $cart_key ] = WC()->cart->cart_contents[ $cart_key ];
    }

    WC()->cart->cart_contents = $cart_contents;

}
add_action( 'woocommerce_cart_loaded_from_session', '12345_cart_updated' );

该函数类似于https://businessbloomer.com/woocommerce-sort-cart-items-alphabetically-az/中的一个函数,该函数与之前发布的函数几乎相同:https://gist.github.com/maxrice/6541634

 类似资料:
  • 我正在尝试将外部产品的价格添加到产品详细信息页面上的“添加到购物车”按钮中 [现在买100英镑]而不是[现在买]

  • 我使用“从Woocommerce中的functions.php文件中添加到购物车按钮上显示价格”的答案代码,在简单的产品中添加价格。 但我想改进这个功能,动态显示选择的变异价格内按钮。在变体产品页面上使用此代码,它只显示最低的价格。有什么解决办法吗?

  • 我使用WooCommerce Wordpress中的以下代码,通过一个模板,使用add_to_cart($product_id)功能添加了许多产品。 现在,我希望通过此模板为每个产品添加自定义价格。现在购物车中的价格和数据库中的价格一样,但我想通过这一点添加我的自定义价格。有人能帮我做同样的事吗。谢谢

  • 我正在创建一个WooCommerce(5.6.0版)网站,用户可以在该网站上购买泡沫产品,并在存档页面上计算价格。基本上,用户输入维度,然后根据公式计算价格。我目前正在努力更新购物车中的价格,我以前没有在这一级别定制产品和价格的经验,因此任何帮助都将不胜感激。。到目前为止,我已经完成了以下步骤: 1.获取(通过Ajax)并在WC_会话中设置自定义产品价格 2.从WC_Session数据更改购物车项

  • 我正在寻找输出相关的产品在我的woocommerce购物车页面。 在查看单个产品时,函数可以很好地工作。 但是在shopping-cart.php上使用这个函数时,会返回一个错误: 中非对象的成员函数get_related() 我尝试将该函数包含在产品循环中: 这产生了同样的错误。 在目前有几种产品存在问题的情况下,是否可以这样做?我会很高兴地从购物车中随机挑选一个产品,并根据它输出建议。

  • 我在我的WooCommerce 2.6.4商店上使用可变产品,我为同一产品的两种不同变体添加了不同的价格。当选择两个变体中的一个时,根本不显示任何价格。下面的div只是空的: 我希望预选的变异价格显示为默认,而非预选的变异价格应在选择时动态替换。几乎像这个演示,除了从一个预选的项目和价格应该显示为默认。