Een help(er) functie die je de ‘rewrite rule’ van je huidige WordPress pagina toont

Soms kan een kleine helper functie je veel tijd en kopzorgen besparen. Voila, hier heb je er eentje, gratis en voor niks.

Rewrite rules kunnen voor beginnende maar ook voor ervaren WordPress ontwikkelaars knap ingewikkeld en verwarrend zijn. Via onderstaande helper functie get_current_rewrite_rule() genaamd verklapt WordPress je de rewrite rule die op je huidige pagina van toepassing is.

Hoe kan ik deze gebruiken?

De get_current_rewrite_rule() maakt gebruik van de globale $wp_rewrite en $wp variabelen.

Via een WordPress thema

De globale $wp variable is bij een WordPress thema beschikbaar nadat de setup_theme() action hook is uitgevoerd. Dit houdt in dat je ten vroegste kan inhaken via de after_setup_theme() hook.

Via een WordPress plugin

De globale $wp variabele is bij een WordPress plugin beschikbaar nadat de plugins_loaded() hook is uitgevoerd. Deze hook wordt uitgevoerd nadat alle actieve plugins zijn ingeladen en geïnitialiseerd.

function get_current_rewrite_rule() 
{
    global $wp_rewrite, $wp;
    
    // Get the current URL
    $current_url = home_url(add_query_arg(array(),$wp->request));

    // Get the rewrite rules
    $rewrite_rules = $wp_rewrite->rewrite_rules();

    // Match the current URL against each rule
    
    foreach ($rewrite_rules as $rule => $rewrite) {
        if (preg_match('#'.$rule.'#', $current_url, $matches)) {
            return $rewrite;
        }
    }

    return false;
}

// When used in a theme
add_action('after_setup_theme', function() {

    if(is_admin()) {
        return;
    }

    get_current_rewrite_rule();
});

// When used in a plugin
add_action('plugins_loaded', function() {

    if(is_admin()) {
        return;
    }

    get_current_rewrite_rule();
});
PHP

Voila, een leuke extra helper functie die je kan toevoegen aan je WordPress helper stack.

Heb je nood aan nog meer rewrite rule informatie?

Deze kleine helper functie toont enkel de rewrite rule van je huidige WordPress pagina. Maar wil je graag nog meer informatie over de gebruikte rewrite rules wordt de Query Monitor plugin jouw beste WordPress development vriend. Naast uitgebreide informatie over rewrite rules zit deze bomvol broodnodige development informatie zoals database queries, logs, requests, scripts, styles, API calls, transients, capability checks, enzovoort.

Tags: