我想在我的购物车中显示我的产品的简短描述,而不是它的名称,结帐时我去了cart.php文件,我发现了一个代码,我认为我必须更改它有人能给我一个解决办法吗?
<td class="product-name" data-title="<?php esc_attr_e( 'Product', 'woocommerce' ); ?>">
<?php
if ( ! $product_permalink ) {
echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', $_product->get_name(),
$cart_item, $cart_item_key ) . ' ' );
} else {
echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>',
esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key ) );
}
如果您想在购物车和结帐中显示简短的描述,您可以使用woocommerce_cart_item_name
钩子。
如果您想显示所有产品的简短描述可以使用以下代码的类型:
// returns the short description as the cart item name
add_filter( 'woocommerce_cart_item_name', 'change_cart_item_name', 99, 3 );
function change_cart_item_name( $item_name, $cart_item, $cart_item_key ) {
$product = $cart_item['data'];
// get short description
$short_description = $product->get_short_description();
// if it exists, it returns the short description as the cart item name
if ( ! empty( $short_description ) ) {
return $short_description;
} else {
return $item_name;
}
return $item_name;
}
如果,在产品变化的情况下,您希望显示父产品(变量产品)的简短描述您可以使用以下代码:
// returns the short description as the cart item name
add_filter( 'woocommerce_cart_item_name', 'change_cart_item_name', 99, 3 );
function change_cart_item_name( $item_name, $cart_item, $cart_item_key ) {
$product = $cart_item['data'];
// if it is a variation it gets the description of the variable product
if ( $product->is_type( 'variation' ) ) {
$parent_id = $product->get_parent_id();
$variable = wc_get_product( $parent_id );
$short_description = $variable->get_short_description();
} else {
// get short description
$short_description = $product->get_short_description();
}
// if it exists, it returns the short description as the cart item name
if ( ! empty( $short_description ) ) {
return $short_description;
} else {
return $item_name;
}
return $item_name;
}
它在购物车页面和结帐中都有效。
代码必须添加到主题的functions.php文件中。
一个更好的解决方案是使用钩子。例如:
add_filter( 'woocommerce_cart_item_name', 'ywp_custom_text_cart_item_name', 10, 3 );
function ywp_custom_text_cart_item_name( $item_name, $cart_item, $cart_item_key ) {
$item_name .= '<br /><div class="my-custom-text-class">Custom text comes here</div>';
return $item_name;
}
代码进入你的活动主题/子主题的functions.php
文件。