oont-contents/plugins/jetpack-boost/app/modules/optimizations/page-cache/pre-wordpress/boost-cache-actions.php
2025-04-06 08:34:48 +02:00

76 lines
2.2 KiB
PHP

<?php
/**
* This file contains all the public actions for the Page Cache module.
* This file is loaded before WordPress is fully initialized.
*/
use Automattic\Jetpack_Boost\Modules\Optimizations\Page_Cache\Pre_WordPress\Boost_Cache;
use Automattic\Jetpack_Boost\Modules\Optimizations\Page_Cache\Pre_WordPress\Filesystem_Utils;
/**
* Delete all cache.
*
* Allow third-party plugins to clear all cache.
*/
add_action( 'jetpack_boost_clear_page_cache_all', 'jetpack_boost_delete_cache' );
/**
* Delete cache for homepage and paged archives.
*
* Allow third-party plugins to clear front-page cache.
*/
add_action( 'jetpack_boost_clear_page_cache_home', 'jetpack_boost_delete_cache_for_home' );
/**
* Delete cache for a specific URL.
*
* Allow third-party plugins to clear the cache for a specific URL.
*
* @param string $url - The URL to delete the cache for.
*/
add_action( 'jetpack_boost_clear_page_cache_url', 'jetpack_boost_delete_cache_for_url' );
/**
* Delete cache for a specific post.
*
* Allow third-party plugins to clear the cache for a specific post.
*
* @param int $post_id - The ID of the post to delete the cache for.
*/
add_action( 'jetpack_boost_clear_page_cache_post', 'jetpack_boost_delete_cache_by_post_id' );
/**
* Delete all cache files.
*/
function jetpack_boost_delete_cache() {
$boost_cache = new Boost_Cache();
$boost_cache->invalidate_cache( Filesystem_Utils::DELETE_ALL );
}
/**
* Delete cache for homepage and paged archives.
*/
function jetpack_boost_delete_cache_for_home() {
$boost_cache = new Boost_Cache();
$boost_cache->invalidate_cache_for_front_page( Filesystem_Utils::DELETE_ALL );
}
/**
* Delete cache for a specific URL.
*
* @param string $url - The URL to delete the cache for.
*/
function jetpack_boost_delete_cache_for_url( $url ) {
$boost_cache = new Boost_Cache();
$boost_cache->invalidate_cache_for_url( $url, Filesystem_Utils::DELETE_ALL );
}
/**
* Delete cache for a specific post.
*
* @param int $post_id - The ID of the post to delete the cache for.
*/
function jetpack_boost_delete_cache_by_post_id( $post_id ) {
$boost_cache = new Boost_Cache();
$boost_cache->invalidate_cache_by_post_id( (int) $post_id, Filesystem_Utils::DELETE_ALL );
}