Skip to content

Instantly share code, notes, and snippets.

@slingshotdesign
Forked from mikejolley/functions.php
Created March 25, 2023 20:36
Show Gist options
  • Save slingshotdesign/bdce916189c85098acc4e29dd316201e to your computer and use it in GitHub Desktop.
Save slingshotdesign/bdce916189c85098acc4e29dd316201e to your computer and use it in GitHub Desktop.
WooCommerce Disable guest checkout for certain products
<?php
// Code goes in theme functions.php or a custom plugin
add_filter( 'pre_option_woocommerce_enable_guest_checkout', 'conditional_guest_checkout_based_on_product' );
function conditional_guest_checkout_based_on_product( $value ) {
$restrict_ids = array( 1, 2, 3 ); // Replace with product ids which cannot use guest checkout
if ( WC()->cart ) {
$cart = WC()->cart->get_cart();
foreach ( $cart as $item ) {
if ( in_array( $item['product_id'], $restrict_ids ) ) {
$value = "no";
break;
}
}
}
return $value;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment