Avancerad cachning

Templ Cache har ett alternativ för automatisk rensning av cache, som finns i Templ Cache-pluginets inställningar i WP Admin, vilket är allt som behövs i de flesta fall. Se Hur cachning fungerar för grunderna.

Om det inte räcker för dig, här är några exempel på mer avancerade sätt att rensa Templ Cache.

Hur man rensar Templ Cache med PHP

Om du behöver rensa cachen med PHP-kod, här är hur man kan göra det:

$templio_cache = new templioCache();
$templio_cache->purge_zone_once();

Automatisk rensning med action hooks

När automatisk rensning av cachen har aktiverats i Templ Cache-inställningarna, rensas cachen automatiskt när vissa actions körs.

Om du vill att cachen ska rensas av ytterligare actions, här är ett exempel på hur man lägger till actionen "my_action":

add_filter('templio_cache_purge_actions', function($purge_actions) {
    $purge_actions[] = 'my_action';
    return $purge_actions;
});

Rensa cache över SSH

Ibland kan det vara användbart att rensa cachen över SSH. Här är hur man gör det:

ssh -p <PORT> <USER>@<IPADDR> /usr/bin/templ-ccli cache purge

Se SSH & WP-CLI för mer om Templ CLI och att köra det på distans.

Rensa cache över HTTP

I andra fall kan det vara användbart att skapa en "webhook" för att låta cachen tömmas genom en HTTP-förfrågan.

För att göra det, skapa en pluginfil som heter templ_cache_purger.php med följande innehåll, och ersätt your-secret-token med en lång slumpmässig sträng:

<?php
/**
 * Plugin Name: Templ Cache Purger
 * Description: En liten plugin som gör det möjligt att rensa cachen när en viss URL anropas.
 * Version: 1.1
 */
function templ_cache_purge() {
    if(!class_exists('templioCache')) {
        return;
    }
    $templio_cache = new templioCache();
    $templio_cache->purge_zone_once();
}
add_action('plugins_loaded', function() {
    if(!isset($_GET['templ_cache_purge'])) {
        return;
    }
    if(!hash_equals('your-secret-token', (string) $_GET['templ_cache_purge'])) {
        return;
    }
    templ_cache_purge();
    die('Cache purged.');
});

Cachen kan sedan rensas genom att skicka en förfrågan till https://example.com/?templ_cache_purge=your-secret-token. En lyckad förfrågan svarar med Cache purged., så anroparen kan se att det fungerade.