WooCommerce一个页结帐不显示属性或变化
的Wordpress> WooCommerce>一页结帐WooCommerce一个页结帐不显示属性或变化
上被一个启用页结帐的单品,我有一个属性的3种变体:
当选择和添加到订单的变体时,单页签出显示产品名称,但不包括变体:
变体ARE显示在完整的购物车中,但不是在使用One Page时。当客户订购多种变体时,这可能会让他们感到困惑。
我只想简单地显示客户使用One Page Checkout时与产品名称一起选择的变体。
谁能帮助?
PS:我很抱歉,如果这是不正确的地方张贴。我是新来的社区,在Php和CSS上只有1节课,并且已经搜索Google和Stack获得答案。希望有人能帮助。先谢谢你! :)
在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
);
JAKE!你钉了它。哦,我的天哪,我甚至不能告诉你我多么感谢你的帮助。这段代码彻底解决了我的(非常强调的)问题。我的确在使用一个插件,我会联系作者传递有关与WooCommerce 3.x的可比性的信息。 我只是真的不能够感谢你!你喜欢平针按钮吗?我很乐意给你寄一封感谢信。我是Stack的新手,但是如果你可以DM我,我会完全把你抓住! – user8507215
我使用了第三方主题自定义购物车模板但未更新的代码。很高兴它也适用于你的情况。如果回答您的问题,您应该将答案标记为“接受答案”;你可以upvote它,如果你想... – Jake
完成并完成!再次感谢你,杰克。你是一个WooCommerce向导! :) – user8507215
有一个在WooCommerce 3.X似乎除去从车项目数据的变化信息,并需要插件和主题使用GET_NAME()代替get_title的变化()来得到一个产品的标题,包括变化信息。也许One Page Checkout没有更新以反映这种变化? JAKE! – Jake