WooCommerce - Add a private item to the cart via 'add_to_cart'

75 Views Asked by At

How can I add a private item from my store to the cart?

$product_id = 1234;
WC()->cart->add_to_cart($product_id);

Whenever I try to do this, the item is not being added (unless I make it public). I don't want to make it public however since I want to keep these items hidden.

I have found this example after doing a search, but it doesn't explain how to actually implement it. How to display/allow 'add to cart' for private products in Woocommerce

1

There are 1 best solutions below

0
matead On BEST ANSWER

Solution

Redirect to the WooCommerce 'shop' page if the product is viewed directly

// redirect if the product is viewed directly
add_action('template_redirect', 'redirect_to_shop');
function redirect_to_shop()
{
    $product_id = 1234;
    
    if (get_the_id() == $product_id)
    {
        wp_redirect(wc_get_page_permalink('shop'));

        exit;
    }
}