Skip to content

Instantly share code, notes, and snippets.

@Tabrisrp
Last active January 9, 2024 18:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Tabrisrp/582224da56be2f765302527edfaf95f7 to your computer and use it in GitHub Desktop.
Save Tabrisrp/582224da56be2f765302527edfaf95f7 to your computer and use it in GitHub Desktop.
Clear WP Rocket cache after an order is made
<?php
/**
* Plugin Name: WP Rocket clean post cache after WC order
* Description: Clean the cache for each product ordered after a completed WooCommerce order
* Author: WP Rocket team
* License: GNU General Public License v3 or later
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/
// Basic security, prevents file from being loaded directly.
defined( 'ABSPATH' ) or die( 'Cheatin&#8217; uh?' );
add_action('woocommerce_payment_complete', 'rocket_clean_cache_after_order', 10, 1);
function rocket_clean_cache_after_order( $order_id ) {
$order = new WC_Order( $order_id );
$items = $order->get_items();
foreach ( $items as $item ) {
rocket_clean_post( $item['product_id'] );
}
}
@GothicParrot607
Copy link

after placing an order, wp rocket clears the cache of other websites, which I don't want. After placing the order, only the product page should be cleared to update the stock status.

log from 02-partial-cache-clear.txt
`*****************************************************************
[2024-01-09 18:02:05]
#CALLSTACK#####

  1. /home/platne/serwer141263/public_html/swiat-zosi.pl/index.php(17): require('/home/platne/se...')
  2. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-blog-header.php(19): require_once('/home/platne/se...')
  3. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/template-loader.php(13): do_action()
  4. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/plugin.php(517): WP_Hook->do_action()
  5. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
  6. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/class-wp-hook.php(324): WC_AJAX::do_wc_ajax()
  7. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/class-wc-ajax.php(96): do_action()
  8. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/plugin.php(517): WP_Hook->do_action()
  9. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
  10. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/class-wp-hook.php(324): WC_AJAX::checkout()
  11. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/class-wc-ajax.php(508): WC_Checkout->process_checkout()
  12. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/class-wc-checkout.php(1287): WC_Checkout->process_order_payment()
  13. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/class-wc-checkout.php(1058): WC_Gateway_BACS->process_payment()
  14. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/gateways/bacs/class-wc-gateway-bacs.php(390): WC_Order->update_status()
  15. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/class-wc-order.php(365): WC_Order->save()
  16. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/class-wc-order.php(253): WC_Order->status_transition()
  17. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/class-wc-order.php(411): do_action()
  18. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/plugin.php(517): WP_Hook->do_action()
  19. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
  20. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/class-wp-hook.php(326): wc_maybe_reduce_stock_levels()
  21. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/wc-stock-functions.php(107): wc_reduce_stock_levels()
  22. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/wc-stock-functions.php(189): wc_update_product_stock()
  23. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/wc-stock-functions.php(56): WC_Product->save()
  24. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-product.php(1432): WC_Data_Store->update()
  25. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/class-wc-data-store.php(196): WC_Product_Data_Store_CPT->update()
  26. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/woocommerce/includes/data-stores/class-wc-product-data-store-cpt.php(258): clean_post_cache()
  27. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/post.php(7288): do_action()
  28. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/plugin.php(517): WP_Hook->do_action()
  29. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
  30. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/class-wp-hook.php(326): rocket_clean_post()
  31. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-content/plugins/wp-rocket/inc/common/purge.php(277): do_action()
  32. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/plugin.php(517): WP_Hook->do_action()
  33. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
  34. /home/platne/serwer141263/public_html/swiat-zosi.pl/wp-includes/class-wp-hook.php(324): WP_Rocket\Helpers\logs\log_partialcacheclear()

POST
ID: 17490
URL: https://swiat-zosi.pl/sklep/domek-dla-lalek-drewniany-mebelk-pastel-114cm/
Post_type: product

#PURGED_URLS#####
Array
(
[0] => https://swiat-zosi.pl/sklep/domek-dla-lalek-drewniany-mebelk-pastel-114cm/
[1] => https://swiat-zosi.pl/sklep/
[4] => https://swiat-zosi.pl/blog/
[6] => https://swiat-zosi.pl/author/lew-shop/
)`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment