Merge pull request #1673 from helgatheviking/feature/individual_product
allow any product to be sold individually
This commit is contained in:
commit
133d93c592
|
@ -103,6 +103,15 @@ function woocommerce_product_data_box() {
|
||||||
|
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
|
||||||
|
echo '<div class="options_group show_if_simple show_if_variable">';
|
||||||
|
|
||||||
|
// Individual product
|
||||||
|
woocommerce_wp_checkbox( array( 'id' => '_sold_individually', 'wrapper_class' => 'show_if_simple show_if_variable', 'label' => __('Product Sold Individually?', 'woocommerce'), 'description' => __('For items of singular quantity.', 'woocommerce') ) );
|
||||||
|
|
||||||
|
do_action('woocommerce_product_options_sold_individually');
|
||||||
|
|
||||||
|
echo '</div>';
|
||||||
|
|
||||||
echo '<div class="options_group show_if_external">';
|
echo '<div class="options_group show_if_external">';
|
||||||
|
|
||||||
// External URL
|
// External URL
|
||||||
|
@ -824,6 +833,13 @@ function woocommerce_process_product_meta( $post_id, $post ) {
|
||||||
$woocommerce->clear_product_transients( $post_parent );
|
$woocommerce->clear_product_transients( $post_parent );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sold Individuall
|
||||||
|
if ( ! empty( $_POST['_sold_individually'] ) ) {
|
||||||
|
update_post_meta( $post_id, '_sold_individually', 'yes' );
|
||||||
|
} else {
|
||||||
|
update_post_meta( $post_id, '_sold_individually', '' );
|
||||||
|
}
|
||||||
|
|
||||||
// Stock Data
|
// Stock Data
|
||||||
if ( get_option('woocommerce_manage_stock') == 'yes' ) {
|
if ( get_option('woocommerce_manage_stock') == 'yes' ) {
|
||||||
|
|
||||||
|
|
|
@ -435,8 +435,8 @@ class WC_Product {
|
||||||
function is_sold_individually() {
|
function is_sold_individually() {
|
||||||
$return = false;
|
$return = false;
|
||||||
|
|
||||||
// Sold individually if downloadable, virtual, and the option is enabled
|
// Sold individually if downloadable, virtual, and the option is enabled OR if intentionally a singular item
|
||||||
if ( $this->is_downloadable() && $this->is_virtual() && get_option('woocommerce_limit_downloadable_product_qty') == 'yes' ) {
|
if ( 'yes' == get_post_meta( $this->id, '_sold_individually', true ) || ( $this->is_downloadable() && $this->is_virtual() && get_option('woocommerce_limit_downloadable_product_qty') == 'yes' ) ) {
|
||||||
$return = true;
|
$return = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue