【发布时间】:2018-11-17 09:14:52
【问题描述】:
在 WooCommerce 中,当有人将产品添加到购物篮时,会显示一条通知消息以进行确认。我希望能够显示客户放入购物篮的变化,而不是显示父级。
我正在使用来自Show product variation in woocommerce Added to cart message 的答案中的 Andrew Schultz 的代码,我猜钩子或名称已经改变,因为正在发生的事情是“pa_subject”在它应该说“地理”时显示,例如。
任何想法如何改变它?
function modify_wc_add_to_cart_message( $message, $products ) {
$attribute_label = '';
$titles = array();
$count = 0;
foreach ( $products as $product_id => $qty ) {
$product = wc_get_product( $product_id );
if( $product->is_type( 'variable' ) ) {
foreach( $product->get_variation_attributes() as $attribute_name => $attribute_values ) {
if( isset( $_REQUEST['attribute_' . strtolower( $attribute_name )] ) ) {
if( in_array( $_REQUEST['attribute_' . strtolower( $attribute_name )], $attribute_values ) ) {
if( ! empty( $attribute_label ) )
$attribute_label .= ', ';
$attribute_label .= $attribute_name . ' : ' . $_REQUEST['attribute_size'];
}
}
}
}
$titles[] = ( $qty > 1 ? absint( $qty ) . ' × ' : '' ) . sprintf( _x( '“%s”', 'Item name in quotes', 'woocommerce' ), strip_tags( get_the_title( $product_id ) ) . ( ! empty( $attribute_label ) ? ' - ' . $attribute_label : '' ) ) ;
$count += $qty;
}
$titles = array_filter( $titles );
$added_text = sprintf( _n( '%s has been added to your cart.', '%s have been added to your cart.', $count, 'woocommerce' ), wc_format_list_of_items( $titles ) );
if ( 'yes' === get_option( 'woocommerce_cart_redirect_after_add' ) ) {
$return_to = apply_filters( 'woocommerce_continue_shopping_redirect', wc_get_raw_referer() ? wp_validate_redirect( wc_get_raw_referer(), false ) : wc_get_page_permalink( 'shop' ) );
$message = sprintf( '<a href="%s" class="button wc-forward">%s</a> %s', esc_url( $return_to ), esc_html__( 'Continue shopping', 'woocommerce' ), esc_html( $added_text ) );
} else {
$message = sprintf( '<a href="%s" class="button wc-forward">%s</a> %s', esc_url( wc_get_page_permalink( 'cart' ) ), esc_html__( 'View cart', 'woocommerce' ), esc_html( $added_text ) );
}
return $message;
}
add_filter( 'wc_add_to_cart_message_html', 'modify_wc_add_to_cart_message', 10, 2 );
【问题讨论】:
标签: php wordpress woocommerce custom-taxonomy notice