WooCommerce一个页结帐不显示属性或变化

WooCommerce一个页结帐不显示属性或变化

问题描述:

的Wordpress> WooCommerce>一页结帐WooCommerce一个页结帐不显示属性或变化

上被一个启用页结帐的单品,我有一个属性的3种变体:

Product Variations Dashboard

当选择和添加到订单的变体时,单页签出显示产品名称,但不包括变体:

One Page Checkout - No Variations Displayed

变体ARE显示在完整的购物车中,但不是在使用One Page时。当客户订购多种变体时,这可能会让他们感到困惑。

我只想简单地显示客户使用One Page Checkout时与产品名称一起选择的变体。

谁能帮助?

PS:我很抱歉,如果这是不正确的地方张贴。我是新来的社区,在Php和CSS上只有1节课,并且已经搜索Google和Stack获得答案。希望有人能帮助。先谢谢你! :)

+0

有一个在WooCommerce 3.X似乎除去从车项目数据的变化信息,并需要插件和主题使用GET_NAME()代替get_title的变化()来得到一个产品的标题,包括变化信息。也许One Page Checkout没有更新以反映这种变化? JAKE! – Jake

在WooCommerce 2.x中,变体属性在购物车中显示为元数据,但是在WooCommerce 3.x中,它们包含在产品名称中。但是这需要改变插件或主题中的任何购物车自定义,以使用新的WC_Product方法get_name()而不是get_title()

如果这是第三方插件或主题,理想情况下,您应该了解是否有新版本与WooCommerce 3.x完全兼容并解决了问题。但是,作为一种解决方法,假设插件/主题使用过滤器钩子woocommerce_cart_item_name,则可以将以下内容添加到主题的functions.php(如果您使用的是第三方主题,则应该使用create a child theme,以便在更新它时不会丢失更改):

add_filter(
    'woocommerce_cart_item_name', 
    function($name, $cart_item, $cart_item_key) { 
    $product = apply_filters(
     'woocommerce_cart_item_product', 
     $cart_item['data'], 
     $cart_item, 
     $cart_item_key 
    ); 
    if (method_exists($product, 'get_name')) { 
     // WooCommerce 3.x 
     $is_link = substr($name, 0, 3) === '<a '; 
     $name = $product->get_name(); 
     if ($is_link) { 
     $name = sprintf(
      '<a href="%s">%s</a>', 
      esc_url($product->get_permalink($cart_item)), 
      $name 
     ); 
     } 
    } 
    return $name; 
    }, 
    50, 3 
); 
+0

JAKE!你钉了它。哦,我的天哪,我甚至不能告诉你我多么感谢你的帮助。这段代码彻底解决了我的(非常强调的)问题。我的确在使用一个插件,我会联系作者传递有关与WooCommerce 3.x的可比性的信息。 我只是真的不能够感谢你!你喜欢平针按钮吗?我很乐意给你寄一封感谢信。我是Stack的新手,但是如果你可以DM我,我会完全把你抓住! – user8507215

+0

我使用了第三方主题自定义购物车模板但未更新的代码。很高兴它也适用于你的情况。如果回答您的问题,您应该将答案标记为“接受答案”;你可以upvote它,如果你想... – Jake

+0

完成并完成!再次感谢你,杰克。你是一个WooCommerce向导! :) – user8507215