我想在购物车产品名称中添加自定义字段快捷代码。现在,我不知道如何显示自定义字段值,因为代码在sprintf中。
我在wooccommerce产品中创建了一个自定义字段。海关领域被称为颜色。我希望购物车产品名称打印出自定义字段值。
自定义字段短代码
<?php echo get_post_meta( get_the_ID(), 'color', true ); ?>
购物车产品名称
<?php
if ( ! $_product->is_visible() ) {
echo apply_filters( 'woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key ) . ' ';
} else {
echo apply_filters( 'woocommerce_cart_item_name', sprintf( '<a class="items-info" href="%s">%s </a>', esc_url( $_product->get_permalink( $cart_item ) ), $_product->get_title() ), $cart_item, $cart_item_key );
}
?>
例如,
我的产品名称是"纽约T恤",我的自定义字段颜色值是"白色"我希望它在我的wooccommerce购物车产品名称中显示为"纽约tee-white"。此外,我想在产品名称和自定义字段值之前添加一个短划线。李"纽约T恤-白色"有人能帮我吗?非常感谢。
您可以在woocommerce_cart_item_name
上添加过滤器来修改标题
function my_custom_cart_product_name_filter( $title, $item ) {
$color = get_post_meta( $item['product_id'], 'color', true );
return $color ? $title . sprintf(" Color - %s", $color) : $title;
}
add_filter( 'woocommerce_cart_item_name', 'my_custom_cart_product_name_filter', 10, 3 );