Skip to content

Incorporate Stock Clearing of Cache #5

@jordantrizz

Description

@jordantrizz

See https://gist.github.com/mrcave/7cdf6707273252de04094d4ed8d0d43c

//clear entire cache when stock is reduced or replenished

function clear_cache_when_stock_changes( $order ) {
	if(class_exists('PhpRedis_Purger') || class_exists('Predis_Purger')){
		global $nginx_purger;
		$nginx_purger->purge_all();	
	}
}
         
add_action( 'woocommerce_reduce_order_stock', 'clear_cache_when_stock_changes', 10, 1 );
add_action( 'woocommerce_restore_order_stock', 'clear_cache_when_stock_changes', 10, 1 );
//only clear product page caches when stock changes

function clear_product_page_caches_when_stock_changes( $order ) {

	if(class_exists('PhpRedis_Purger') || class_exists('Predis_Purger')){
		if($order){
			global $nginx_purger;

			foreach ( $order->get_items() as $item_id => $item ) {
				$product_id = $item->get_product_id();
				$nginx_purger->purge_post( $product_id );
			}
		}
	}
}

add_action( 'woocommerce_reduce_order_stock', 'clear_product_page_caches_when_stock_changes', 10, 1 );
add_action( 'woocommerce_restore_order_stock', 'clear_product_page_caches_when_stock_changes', 10, 1 );

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions