Php wordpress中简短描述的解决方案不适用于我

Php wordpress中简短描述的解决方案不适用于我,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我使用了我在这里找到的brasofilo提供的解决方案 但出于某种原因,在每个产品的每个描述之后都会添加一个冒号 我用萤火虫试着找出它的来源。它显示在checkoutpage上显示的每个产品的dt class=“variation Productdescription”末尾。以下是我从firebug复制的代码: <tbody> <tr class="cart_item"> <td class="product-name"> <a href="http:/

我使用了我在这里找到的brasofilo提供的解决方案

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

我用萤火虫试着找出它的来源。它显示在checkoutpage上显示的每个产品的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>
但正如海尔加特维京所指出的那样,这不是一个好的解决方案,即使它可行


我将在没有
echo

的情况下,找到一个更好的解决方案,我想在woodcommerce v2.2中的某个时间,checkout类中的
$其他\u data
变量已更改为数组请求,这是在
name
value
对中。因此,来自另一个线程的代码已经过时。使用它时,您无法找到
名称
,因此这些部分是空的,并且在它们之间只留下冒号。请尝试此更新:

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

我想在WooCommerce v2.2前后的某个时候,checkout类中的
$other_data
变量被更改为数组请求
name
value
对。因此,来自另一个线程的代码已经过时。使用它时,您无法找到
名称
,因此这些部分是空的,并且在它们之间只留下冒号。请尝试此更新:

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

你能用屏幕截图显示我们的输出吗?你能用屏幕截图显示我们的输出吗?这样效果更好。您能告诉我如何更改代码,以便只显示描述,而不显示描述:before吗?通过使用echo命令,我找到了一个解决方案。添加过滤器('woocommerce\u get\u item\u data'、'wc\u checkout\u description\u so\u 2790033',10,2);函数wc_checkout_description_so_27900033($other_data,$cart_item){$post_data=get_post($cart_item['product_id');echo$post_data->post_extract;return$other_data;}现在看起来是这样的:很难读取注释中的代码。如果你编辑你的问题会更好。也就是说,你不应该在过滤器中添加一个
echo
。。。因为您要回显的部件在调用
回显
后立即出现,而不一定在需要输出的地方出现。在这种情况下,它可能会起作用,但这不是一个好习惯。始终使用过滤器
返回$something
。在本例中,要修改其他数据的显示方式,您需要在主题中覆盖WooCommerce的
cart/cart item data.php
模板。这样效果更好。您能告诉我如何更改代码,以便只显示描述,而不显示描述:before吗?通过使用echo命令,我找到了一个解决方案。添加过滤器('woocommerce\u get\u item\u data'、'wc\u checkout\u description\u so\u 2790033',10,2);函数wc_checkout_description_so_27900033($other_data,$cart_item){$post_data=get_post($cart_item['product_id');echo$post_data->post_extract;return$other_data;}现在看起来是这样的:很难读取注释中的代码。如果你编辑你的问题会更好。也就是说,你不应该在过滤器中添加一个
echo
。。。因为您要回显的部件在调用
回显
后立即出现,而不一定在需要输出的地方出现。在这种情况下,它可能会起作用,但这不是一个好习惯。始终使用过滤器
返回$something
。在本例中,要修改其他数据的显示方式,需要在主题中覆盖WooCommerce的
cart/cart item data.php
模板。