Actualiza los productos en stock después de un orden WooCommerce

Si tu sitio de e-commerce utiliza WooCommerce y has notado que el stock de productos no se actualiza correctamente, puedes usar este (MU) Plugin para limpiar la caché WP Rocket cada vez que se complete un nuevo orden.

Limpiar la caché a través de un MU Plugin personalizado:

Sigue las instrucciones generales de este artículo:
¿Cómo hacer un MU-plugin personalizado?

1

Crea una carpeta llamada  mu-plugins dentro de  wp-content. 
 En caso de que la carpeta mu-plugins exista ya, no es necesario crearla otra vez, usa la existente.

2

Usando un editor de texto básico crea un nuevo fichero e introduce algunas lineas de código.

<?php
defined( 'ABSPATH' ) or die( 'No direct access here, kiddo.' );
/**
 * Plugin Name: WP Rocket | Clean Post Cache after WooCommerce Order
 * Description: Cleans the cache for each product ordered after a WooCommerce order has been completed.
 * Plugin URI:  http://docs.wp-rocket.me/article/881-update-products-on-stock-after-new-woocommerce-orders
 * Author:      WP Rocket Support Team
 * Author URI:  http://wp-rocket.me/
 * License:     GNU General Public License v3 or later
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 */


/**
 * Clean post cache after order has been completed.
 * 
 * @param  int $order_id Order ID
 * @return void
 */
function wp_rocket_wc_clean_product_cache_after_order( $order_id ) {

	$order  = new WC_Order( $order_id );
	$items  = $order->get_items();

	foreach ( $items as $item ) {
		$post_id = absint( $item['product_id'] );
		rocket_clean_post( $post_id );
	}
}
add_action( 'woocommerce_payment_complete', 'wp_rocket_wc_clean_product_cache_after_order', 10 );
	
3
Guarda el archivo como  wp-rocket-wc-clean-product-cache.php
4
Sube este fichero a la carpeta  mu-plugins creada al punto 1.
5

Finalmente, asegúrate de desactivar y re-activar WP Rocket.