在购物车 Woocommerce 中添加产品简短描述

Zyg*_*tas 4 php wordpress woocommerce

我想在购物车中添加简短的产品描述:我确实将它添加到购物车中,但奇怪的是它没有显示在结账页面上,因为我的购物车在标题中。任何想法或其他解决方案都非常有帮助,提前致谢

function excerpt_in_cart() {

$excerpt = get_the_excerpt();
$excerpt = substr($excerpt, 0, 80);
return '<br><p class="shortDescription">' . $excerpt .'...' . '</p>';
}
add_action( 'woocommerce_cart_item_name', 'excerpt_in_cart', 40 );
Run Code Online (Sandbox Code Playgroud)

在结帐页面上时,它不会从代码 ' 中显示此部分。$摘录。' p 出现在课堂上就好了。

gvg*_*yan 5

function excerpt_in_cart($cart_item_html, $product_data) {
global $_product;

$excerpt = get_the_excerpt($product_data['product_id']);
$excerpt = substr($excerpt, 0, 80);

echo $cart_item_html . '<br><p class="shortDescription">' . $excerpt . '...' . '</p>';
}

add_filter('woocommerce_cart_item_name', 'excerpt_in_cart', 40, 2);
Run Code Online (Sandbox Code Playgroud)

首先woocommerce_cart_item_name钩子是过滤器钩子而不是动作钩子。

大多数你做对的事情很少有小问题

  • 您必须使用带有woocommerce_cart_item_name钩子的add_filter 。
  • 覆盖了 woocommerce 创建的 html 而不是连接您的摘录。
  • 错过了使用他们的产品 ID 处理每个购物车项目的摘录。

附加信息:

这是来自 wordpress 核心文件 plugin.php

function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) {
    return add_filter($tag, $function_to_add, $priority, $accepted_args);
}
Run Code Online (Sandbox Code Playgroud)

函数add_action只是 的包装函数add_filter