解决方案简短说明结帐woocommerce wordpress不适合我

时间:2015-01-12 10:37:49

标签: php wordpress woocommerce

我使用了我在Short Description in checkout woocommerce wordpress找到的brasofilo提供的解决方案。

但由于某种原因,每个产品的每个描述后都会添加一个冒号。

我用萤火虫试图找出可能来自哪里。它显示在结帐页面上显示的每个产品的dt class =“variation-Productdescription”的末尾。这是我从firebug复制的代码:

<tbody>
<tr class="cart_item">
<td class="product-name">
<a href="http://shopurl/product/Product1/">Product1</a>
<strong class="product-quantity">× 1</strong>
<dl class="variation">
<dt class="variation-Productdescription">
<div class="post-content">
:
</dt>
<dd class="variation-Productdescription></dd>
</dl>
</td>
<td class="product-total">
</tr>
<tr class="cart_item">
</tbody>

编辑:

我不能在此处上传图片,因为我是新手,所以我将问题的屏幕截图上传到http://i.imgur.com/HMh8A3P.jpg?1

产品简短描述没有冒号。

A Screenshot of the Product Short Description

编辑2:

现在正在为我工​​作的解决方案是:

 add_filter( 'woocommerce_get_item_data', 'wc_checkout_description_so_27900033', 10, 2 ); 
function wc_checkout_description_so_27900033( $other_data, $cart_item )
{
 $post_data = get_post( $cart_item['product_id'] );
 echo $post_data->post_excerpt;
 return $other_data;
 }

但正如helgatheviking指出的那样,即使有效,这也不是一个好的解决方案。

我将在没有echo的情况下制定更好的解决方案。

1 个答案:

答案 0 :(得分:3)

我认为在WooCommerce v2.2的某个时候,结帐类中的$other_data变量已更改为需要namevalue对的数组。因此,来自另一个线程的代码已过时。使用它WooCommerce无法找到namevalue,因此这些部分是空白的,只留下它们之间的冒号。试试这个更新:

add_filter( 'woocommerce_get_item_data', 'wc_checkout_description_so_27900033', 10, 2 );

function wc_checkout_description_so_27900033( $other_data, $cart_item )
{
    $post_data = get_post( $cart_item['product_id'] );
    $other_data[] = array( 'name' =>  'description', 'value' => $post_data->post_excerpt );
    return $other_data;
}