WooCommerce One Page Checkout 不显示属性或变体
WooCommerce One Page Checkout does not display attributes or variations
Wordpress > WooCommerce > 一页结帐
在启用单页结账的单个产品上,我有 3 个属性变体:
选择变体并将其添加到订单后,单页结账会显示产品名称,但不包括变体:
变体会显示在完整的购物车中,但在使用一页时不会显示。当客户订购多种变体时,这可能会让他们感到困惑。
我只是想使用一页结账显示客户选择的变体以及产品名称。
有人能帮忙吗?
PS:如果这是 post 的错误地方,我深表歉意。我是社区的新手,在 Php 和 CSS 中只取得了 1 class,并在 Google 和 Stack 中搜索了答案。希望有人能帮忙。先感谢您! :)
在 WooCommerce 2.x 中,变体属性作为元数据显示在购物车中,但在 WooCommerce 3.x 中,它们包含在产品名称中。但这需要更改插件或主题中的任何购物车自定义,以使用新的 WC_Product
方法 get_name()
而不是 get_title()
.
如果这是第三方插件或主题,理想情况下,您应该查明是否有与 WooCommerce 3.x 完全兼容并解决问题的新版本可用。但作为解决方法,假设 plugin/theme 使用过滤器钩子 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
);
Wordpress > WooCommerce > 一页结帐
在启用单页结账的单个产品上,我有 3 个属性变体:
选择变体并将其添加到订单后,单页结账会显示产品名称,但不包括变体:
变体会显示在完整的购物车中,但在使用一页时不会显示。当客户订购多种变体时,这可能会让他们感到困惑。
我只是想使用一页结账显示客户选择的变体以及产品名称。
有人能帮忙吗?
PS:如果这是 post 的错误地方,我深表歉意。我是社区的新手,在 Php 和 CSS 中只取得了 1 class,并在 Google 和 Stack 中搜索了答案。希望有人能帮忙。先感谢您! :)
在 WooCommerce 2.x 中,变体属性作为元数据显示在购物车中,但在 WooCommerce 3.x 中,它们包含在产品名称中。但这需要更改插件或主题中的任何购物车自定义,以使用新的 WC_Product
方法 get_name()
而不是 get_title()
.
如果这是第三方插件或主题,理想情况下,您应该查明是否有与 WooCommerce 3.x 完全兼容并解决问题的新版本可用。但作为解决方法,假设 plugin/theme 使用过滤器钩子 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
);