/**
* Checks if product is in the cart.
*
* @see https://wpcodebook.com/woocommerce-check-product-in-cart/
* @see https://woocommerce.github.io/code-reference/classes/WC-Cart.html
* @see https://developer.wordpress.org/reference/functions/wp_list_pluck/
*
* @return bool
*/
function wpcodebook_is_product_in_cart( $product_id ) {
$products = wp_list_pluck( WC()->cart->get_cart_contents(), 'product_id' );
$variations = wp_list_pluck( WC()->cart->get_cart_contents(), 'variation_id' );
return ( in_array( $product_id, $products ) || in_array( $product_id, $variations ) );
}