Skip to main content

Flush full-page caches when a per-show Supporter Wall is enabled or disabled

Free Beginner Since v1.0.0

ShowMeta::set_supporter_wall_enabled() fires benecaster_supporter_wall_enabled( int $show_id ) on a 0→1 transition and benecaster_supporter_wall_disabled( int $show_id ) on a 1→0 transition. Same-value writes do not fire either action, so callbacks run exactly once per real state change. Two separate actions let add-ons subscribe to only the direction they care about.

Code

<?php
function bc_flush_supporter_wall_pages( int $show_id ): void {
    // Generic WP transient + page-cache plugin hooks.
    delete_transient( 'my_theme_supporter_wall_' . $show_id );

    // Common page-cache plugins.
    if ( function_exists( 'wp_cache_clear_cache' ) ) { wp_cache_clear_cache(); }    // WP Super Cache
    if ( function_exists( 'rocket_clean_post' ) )    { rocket_clean_post( $show_id ); } // WP Rocket
}
add_action( 'benecaster_supporter_wall_enabled',  'bc_flush_supporter_wall_pages' );
add_action( 'benecaster_supporter_wall_disabled', 'bc_flush_supporter_wall_pages' );

View on GitHub →

Hooks Used