Я использовал решение, предоставленное brasofilo, которое я нашел здесь. Краткое описание в watchout woocommerce wordpress .
Но по какой-то причине после каждого описания каждого продукта добавляется двоеточие.
Я использовал firebug, чтобы попытаться выяснить, откуда это может произойти. Он отображается в конце класса dt = «вариант-описание» каждого продукта, указанного на контрольной странице. Вот код, который я скопировал из 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://img.ruphp.com/php/HMh8A3P.jpg?1
Краткое описание продукта не имеет двоеточия.
Скриншот Краткое описание продукта
Изменить 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
.
Я думаю, что когда-то вокруг WooCommerce v2.2 переменная $other_data
в классе проверки была изменена на массив, содержащий пары name
и value
. Таким образом, код из другого потока устарел. Использование WooCommerce не может найти 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; }