我发现 this answer 可以根据需要删除购物车数量选择器,但是我只需要在购物车项目具有特定元数据时才需要这样做。由于我需要检查购物车项目元数据而不是产品元数据,因此我无法使用 this one 之类的答案。
如何更新以下代码以仅在商品具有购物车元数据“Ticketnumber”时应用?
add_filter( 'woocommerce_cart_item_quantity', 'wc_cart_item_quantity', 10, 3 );
function wc_cart_item_quantity( $product_quantity, $cart_item_key, $cart_item ){
if( is_cart() ){
$product_quantity = sprintf( '%2$s <input type="hidden" name="cart[%1$s][qty]" value="%2$s" />', $cart_item_key, $cart_item['quantity'] );
}
return $product_quantity;
}
我想我可以使用 this answer 中的一些代码来检索购物车项目元数据,但我无法弄清楚。
function kia_add_subtitle_to_cart_product( $title, $cart_item ){
$_product = $cart_item['data'];
$meta = $_product->get_meta( 'product_card_beschrijving', true ); // THIS PART
if( $meta ) {
$title .= '<span class="meta">' . $meta . '</span>';
}
return $title;
}
add_filter( 'woocommerce_cart_item_name', 'kia_add_subtitle_to_cart_product', 10, 2 );
答案 0 :(得分:3)
您可以使用$cart_item['data']->get_meta()
所以你得到:
function filter_woocommerce_cart_item_quantity( $product_quantity, $cart_item_key, $cart_item ) {
// Get meta
$ticketnumber = $cart_item['data']->get_meta( 'Ticketnumber', true );
if ( $ticketnumber ) {
$product_quantity = sprintf( '%2$s <input type="hidden" name="cart[%1$s][qty]" value="%2$s" />', $cart_item_key, $cart_item['quantity'] );
}
return $product_quantity;
}
add_filter( 'woocommerce_cart_item_quantity', 'filter_woocommerce_cart_item_quantity', 10, 3 );