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

时间:2017-06-02 14:12:57

标签: 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 );

在结帐页面上,它不会从代码中显示此部分&#39; 。 $ excerpt。&#39; p出现在课堂上就好了。

1 个答案:

答案 0 :(得分:2)

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);

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

你正确做的大部分事情都是很少的问题

  • 您必须将add_filter与woocommerce_cart_item_name挂钩一起使用。
  • 覆盖了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);
}

function add_action只是add_filter的包装函数。