WordPress.org

Forums

WooCommerce - excelling eCommerce
Update stock after clicking "add to cart" (2 posts)

  1. robertodimarco
    Member
    Posted 2 years ago #

    Hello!
    I need this hack, please help me!
    I sell single product, so I need the inventory is updated immediately after click on add to cart button, to display the message "out of stock" on the product page. I do not want two people make an order on the same single product. I hope I was clear, I usat google trad. Thank you!

    http://wordpress.org/extend/plugins/woocommerce/

  2. robertodimarco
    Member
    Posted 2 years ago #

    ok I'm trying alone. I think in my case it's enough to change this page, and I think the change needs to be made in this line, which is located after the closing tag of the form, line 48:

    <?php do_action('woocommerce_after_add_to_cart_form'); ?>

    <?php
    /**
     * Simple product add to cart
     *
     * @author 		WooThemes
     * @package 	WooCommerce/Templates
     * @version     1.6.4
     */
    
    if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
    
    global $woocommerce, $product;
    
    if ( ! $product->is_purchasable() ) return;
    ?>
    
    <?php
    	// Availability
    	$availability = $product->get_availability();
    
    	if ($availability['availability']) :
    		echo apply_filters( 'woocommerce_stock_html', '<p class="stock ' . esc_attr( $availability['class'] ) . '">' . esc_html( $availability['availability'] ) . '</p>', $availability['availability'] );
        endif;
    ?>
    
    <?php if ( $product->is_in_stock() ) : ?>
    
    	<?php do_action('woocommerce_before_add_to_cart_form'); ?>
    
    	<form action="<?php echo esc_url( $product->add_to_cart_url() ); ?>" class="cart" method="post" enctype='multipart/form-data'>
    
    	 	<?php do_action('woocommerce_before_add_to_cart_button'); ?>
    
    	 	<?php
    	 		if ( ! $product->is_sold_individually() )
    	 			woocommerce_quantity_input( array(
    	 				'min_value' => apply_filters( 'woocommerce_quantity_input_min', 1, $product ),
    	 				'max_value' => apply_filters( 'woocommerce_quantity_input_max', $product->backorders_allowed() ? '' : $product->get_stock_quantity(), $product )
    	 			) );
    	 	?>
    
    	 	<button type="submit" class="single_add_to_cart_button button alt"><?php echo apply_filters('single_add_to_cart_text', __( 'Add to cart', 'woocommerce' ), $product->product_type); ?></button>
    
    	 	<?php do_action('woocommerce_after_add_to_cart_button'); ?>
    
    	</form>
    
          <?php do_action('woocommerce_after_add_to_cart_form'); ?>
    
    <?php endif; ?>

    After you press the button, it should call the function "reduce_stock."
    but I have not understand how to change the do_action. Any suggestions?

Topic Closed

This topic has been closed to new replies.

About this Plugin

  • WooCommerce - excelling eCommerce
  • Frequently Asked Questions
  • Support Threads
  • Reviews

About this Topic