簡體   English   中英

如何在 WooCommerce 購物車頁面上隱藏某些產品

[英]How to hide certain products on WooCommerce cart page

我使用 CSS 更改了主要的 WooCommerce 購物車頁面以隱藏此頁面上的產品。

更改的原因,我試圖將購物車頁面專用於僅在購物車中顯示產品“Thank You For The Tip”,而不將任何 WooCommerce 產品設置更改為隱藏。

已添加到購物車的所有其他產品需要隱藏在 WooCommerce 購物車主頁面上。

我發現使用 CSS 無法實現這一點,因為我對 CSS 所做的更改將隱藏所有已添加到購物車的產品。

我最接近找到 PHP 解決方案的是以下代碼段:

add_filter( 'woocommerce_cart_item_visible', 'bbloomer_hide_hidden_product_from_cart' , 10, 3 );
add_filter( 'woocommerce_widget_cart_item_visible', 'bbloomer_hide_hidden_product_from_cart', 10, 3 );
add_filter( 'woocommerce_checkout_cart_item_visible', 'bbloomer_hide_hidden_product_from_cart', 10, 3 );
add_filter( 'woocommerce_order_item_visible', 'bbloomer_hide_hidden_product_from_order_woo333', 10, 2 );
    
function bbloomer_hide_hidden_product_from_cart( $visible, $cart_item, $cart_item_key ) {
    $product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    if ( $product->get_catalog_visibility() == 'hidden' ) {
        $visible = false;
    }
    return $visible;
}
    
function bbloomer_hide_hidden_product_from_order_woo333( $visible, $order_item ) {
    $product = $order_item->get_product();
    if ( $product->get_catalog_visibility() == 'hidden' ) {
        $visible = false;
    }
    return $visible;
}

然而,這並沒有給出預期的結果。 有什么建議嗎?

要僅在購物車頁面上而不在其他任何地方隱藏某些 WooCommerce 產品,只需使用woocommerce_cart_item_visible過濾器掛鈎就足夠了。

$targeted_ids數組中,您可以指示哪些產品 ID 應該保持可見。 這也適用於variationID

function filter_woocommerce_cart_item_visible( $true, $cart_item, $cart_item_key ) {    
    // The targeted product ids
    $targeted_ids = array( 30, 53 );

    // Computes the intersection of arrays
    if ( ! array_intersect( $targeted_ids, array( $cart_item['product_id'], $cart_item['variation_id'] ) ) ) {
        $true = false;
    }
    
    return $true; 
}
add_filter( 'woocommerce_cart_item_visible', 'filter_woocommerce_cart_item_visible', 10, 3 ); 

反向應用,並隱藏數組中出現的 productID

代替

if ( ! array_intersect(..

if ( array_intersect(..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM