Created
July 29, 2012 18:37
-
-
Save ChromeOrange/3200974 to your computer and use it in GitHub Desktop.
Allow certain products to be sold one per order only.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
add_filter( 'woocommerce_is_sold_individually', 'cj_woocommerce_is_sold_individually', 10, 2 ); | |
function cj_woocommerce_is_sold_individually( $value, $product ) { | |
$isi = get_post_meta( $product->id, '_custom_sell_individually', TRUE ); | |
if ( $isi == 'individual' ) : | |
$return = true; | |
endif; | |
return $return; | |
} | |
if ( is_admin() ) : | |
add_action( 'woocommerce_product_options_dimensions', 'isi_write_panel'); | |
add_action( 'woocommerce_process_product_meta', 'isi_write_panel_save' ); | |
function isi_write_panel() { | |
echo '<div class="options_group">'; | |
woocommerce_wp_select( array( 'id' => '_custom_sell_individually', | |
'label' => __('Sell Individually?', 'woocommerce'), | |
'options' => apply_filters('woocommerce_product_visibility_options', | |
array( | |
'multiple' => __('Multiple purchases allowed', 'woocommerce'), | |
'individual' => __('Individual Only', 'woocommerce') | |
)), | |
'description' => __('Limit the product to one per order?', 'woocommerce') ) ); | |
echo '</div>'; | |
} | |
function isi_write_panel_save( $post_id ) { | |
$_custom_sell_individually = esc_attr($_POST['_custom_sell_individually']); | |
update_post_meta($post_id, '_custom_sell_individually', $_custom_sell_individually); | |
} | |
endif; | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Is this still working with the latest versions of WooCommerce? Would be nice as a simple plugin....
EDIT: I turned it into a plugin and tried it with WC 2.3.8 and it seems to work. It strangely has 2 settings: a checkbox under Inventory and drop-down under Shipping. Only the shipping one seems to have any effect (but then, I'm not managing inventory on this site). But it does work. Any reason you don't put this in the WordPress.org repository?