Advertisement
Guest User

Untitled

a guest
May 1st, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. /*--------------------------------------
  2. Woocommerce - Allow Guest Checkout on Certain products
  3. ----------------------------------------*/
  4.  
  5. // Display Guest Checkout Field
  6. add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' );
  7. function woo_add_custom_general_fields() {
  8. global $woocommerce, $post;
  9.  
  10. echo '<div class="options_group">';
  11.  
  12. // Checkbox
  13. woocommerce_wp_checkbox(
  14. array(
  15. 'id' => '_allow_guest_checkout',
  16. 'wrapper_class' => 'show_if_simple',
  17. 'label' => __('Checkout', 'woocommerce' ),
  18. 'description' => __('Allow Guest Checkout', 'woocommerce' )
  19. )
  20. );
  21.  
  22. echo '</div>';
  23. }
  24.  
  25. // Save Guest Checkout Field
  26. add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' );
  27. function woo_add_custom_general_fields_save( $post_id ){
  28. $woocommerce_checkbox = isset( $_POST['_allow_guest_checkout'] ) ? 'yes' : 'no';
  29. update_post_meta( $post_id, '_allow_guest_checkout', $woocommerce_checkbox );
  30. }
  31.  
  32. // Enable Guest Checkout on Certain products
  33. add_filter( 'pre_option_woocommerce_enable_guest_checkout', 'enable_guest_checkout_based_on_product' );
  34. function enable_guest_checkout_based_on_product( $value ) {
  35.  
  36. if ( WC()->cart ) {
  37. $cart = WC()->cart->get_cart();
  38. foreach ( $cart as $item ) {
  39. if ( get_post_meta( $item['product_id'], '_allow_guest_checkout', true ) == 'yes' ) {
  40. $value = "yes";
  41. } else {
  42. $value = "no";
  43. break;
  44. }
  45. }
  46. }
  47.  
  48. return $value;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement