Skip to content

Instantly share code, notes, and snippets.

@rcstr
Forked from woogists/wc-auto-add-product-to-cart.php
Last active October 15, 2018 02:20
Show Gist options
  • Save rcstr/fc1639382de46cb3a634e609b0d95a83 to your computer and use it in GitHub Desktop.
Save rcstr/fc1639382de46cb3a634e609b0d95a83 to your computer and use it in GitHub Desktop.
Automatically add product to cart on visit, if user is not subscribed.
<?php
/**
* Automatically add product to cart on visit
*/
add_action( 'template_redirect', 'add_product_to_cart' );
function add_product_to_cart() {
if ( ! is_admin() ) {
$product_id = 226; //replace with your own product id
$found = false;
$user_subscriptions = wcs_get_subscriptions( array(
'customer_id' => get_current_user_id(),
'product_id' => $product_id,
) );
//check if product already in cart
if ( count( WC()->cart->get_cart() ) > 0 && 0 === count( $user_subscriptions ) ) {
foreach ( WC()->CART->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
if ( $_product->get_id() == $product_id ) {
$found = true;
}
}
// if product not found, add it
if ( ! $found ) {
WC()->cart->add_to_cart( $product_id );
}
} else {
// if no products in cart, add it
WC()->cart->add_to_cart( $product_id );
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment