WordPress〉WooCommerce〉一页结帐在启用了“单页结帐”的单个产品上,我有一个属性的3个变体:
选择变体并将其添加至订单后,单页结账将显示产品名称,但不包括变体:
变体显示在整个购物车中,但在使用一页时不会显示。当客户订购多个变体时,这可能会让他们感到困惑。我只想使用“一页结账”功能在产品名称旁边显示客户选择的变体。
w8biq8rn1#
在WooCommerce 2.x中,变化属性作为 meta数据显示在购物车中,但在WooCommerce 3.x中,它们包含在产品名称中。但这需要更改插件或主题中的任何购物车自定义,以使用新的WC_Product方法get_name()而不是get_title()。如果这是一个第三方插件或主题,理想情况下,你应该找出是否有一个新的版本是完全兼容WooCommerce 3.x和解决这个问题。但作为一个变通方案,假设插件/主题使用过滤钩woocommerce_cart_item_name,你可以添加以下到您的主题的functions.php(如果您使用的是第三方主题,您应该使用create a child theme,这样在更新时就不会丢失更改):
WC_Product
get_name()
get_title()
woocommerce_cart_item_name
functions.php
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 );
1条答案
按热度按时间w8biq8rn1#
在WooCommerce 2.x中,变化属性作为 meta数据显示在购物车中,但在WooCommerce 3.x中,它们包含在产品名称中。但这需要更改插件或主题中的任何购物车自定义,以使用新的
WC_Product
方法get_name()
而不是get_title()
。如果这是一个第三方插件或主题,理想情况下,你应该找出是否有一个新的版本是完全兼容WooCommerce 3.x和解决这个问题。但作为一个变通方案,假设插件/主题使用过滤钩
woocommerce_cart_item_name
,你可以添加以下到您的主题的functions.php
(如果您使用的是第三方主题,您应该使用create a child theme,这样在更新时就不会丢失更改):