在 WooCommerce 结账时添加产品描述时出现问题
Issue when adding product description at WooCommerce checkout
我正在尝试在 WooCommerce 结账时显示产品描述。
我正在使用:
add_filter( 'woocommerce_get_item_data', 'wc_checkout_product_description_2', 10, 2 );
function wc_checkout_product_description_2( $other_data, $cart_item )
{
$post_data = get_post( $cart_item['product_id'] );
$other_data[] = array( 'name' => $post_data->post_excerpt );
return $other_data;
}
它采用产品简短描述并将其显示在产品下方。
它几乎可以完美运行,但它会在描述末尾显示一个冒号 (:),即使没有简短描述,冒号也会保留。
结果:
我不明白为什么它会出现,也不知道如何摆脱它。我需要一些帮助。
冒号自动添加到键中。因为你只用了name
,这个会加在产品描述的末尾
要正确显示,您可以使用:
// Display on cart & checkout pages
function filter_woocommerce_get_item_data( $item_data, $cart_item ) {
// Product excerpt
$post_excerpt = get_the_excerpt( $cart_item['product_id'] );
// NOT empty
if ( ! empty( $post_excerpt ) ) {
$item_data[] = array(
'key' => __( 'Product description', 'woocommerce' ),
'value' => $post_excerpt,
'display' => $post_excerpt,
);
}
return $item_data;
}
add_filter( 'woocommerce_get_item_data', 'filter_woocommerce_get_item_data', 10, 2 );
或者如果你真的想删除 colon/name (键)。除了使用我的答案中的代码过滤挂钩外,您还必须覆盖 cart/cart-item-data.php 模板文件
- 可以通过将其复制到
yourtheme/woocommerce/cart/cart-item-data.php
来覆盖此模板。
替换
<dl class="variation">
<?php foreach ( $item_data as $data ) : ?>
<dt class="<?php echo sanitize_html_class( 'variation-' . $data['key'] ); ?>"><?php echo wp_kses_post( $data['key'] ); ?>:</dt>
<dd class="<?php echo sanitize_html_class( 'variation-' . $data['key'] ); ?>"><?php echo wp_kses_post( wpautop( $data['display'] ) ); ?></dd>
<?php endforeach; ?>
</dl>
有
<dl class="variation">
<?php foreach ( $item_data as $data ) : ?>
<dt class="<?php echo sanitize_html_class( 'variation-' . $data['key'] ); ?>"><?php echo wp_kses_post( wpautop( $data['display'] ) ); ?></dt>
<?php endforeach; ?>
</dl>
我正在尝试在 WooCommerce 结账时显示产品描述。
我正在使用:
add_filter( 'woocommerce_get_item_data', 'wc_checkout_product_description_2', 10, 2 );
function wc_checkout_product_description_2( $other_data, $cart_item )
{
$post_data = get_post( $cart_item['product_id'] );
$other_data[] = array( 'name' => $post_data->post_excerpt );
return $other_data;
}
它采用产品简短描述并将其显示在产品下方。
它几乎可以完美运行,但它会在描述末尾显示一个冒号 (:),即使没有简短描述,冒号也会保留。
结果:
我不明白为什么它会出现,也不知道如何摆脱它。我需要一些帮助。
冒号自动添加到键中。因为你只用了name
,这个会加在产品描述的末尾
要正确显示,您可以使用:
// Display on cart & checkout pages
function filter_woocommerce_get_item_data( $item_data, $cart_item ) {
// Product excerpt
$post_excerpt = get_the_excerpt( $cart_item['product_id'] );
// NOT empty
if ( ! empty( $post_excerpt ) ) {
$item_data[] = array(
'key' => __( 'Product description', 'woocommerce' ),
'value' => $post_excerpt,
'display' => $post_excerpt,
);
}
return $item_data;
}
add_filter( 'woocommerce_get_item_data', 'filter_woocommerce_get_item_data', 10, 2 );
或者如果你真的想删除 colon/name (键)。除了使用我的答案中的代码过滤挂钩外,您还必须覆盖 cart/cart-item-data.php 模板文件
- 可以通过将其复制到
yourtheme/woocommerce/cart/cart-item-data.php
来覆盖此模板。
替换
<dl class="variation">
<?php foreach ( $item_data as $data ) : ?>
<dt class="<?php echo sanitize_html_class( 'variation-' . $data['key'] ); ?>"><?php echo wp_kses_post( $data['key'] ); ?>:</dt>
<dd class="<?php echo sanitize_html_class( 'variation-' . $data['key'] ); ?>"><?php echo wp_kses_post( wpautop( $data['display'] ) ); ?></dd>
<?php endforeach; ?>
</dl>
有
<dl class="variation">
<?php foreach ( $item_data as $data ) : ?>
<dt class="<?php echo sanitize_html_class( 'variation-' . $data['key'] ); ?>"><?php echo wp_kses_post( wpautop( $data['display'] ) ); ?></dt>
<?php endforeach; ?>
</dl>