Finns det nåt tema i webbadressen?

Ibland kanske webbsurfaren bara gått till samio.se och då behövs ju inget knasigt tematrixande. Men för en webbadress som

https://samio.se/123/twentyfifteen

behöver vi lista ut om en del av adressen är ett tema.

Hur tar datorn reda på om det finns ett tema i webbadressen

Som vanligt är metoden -> dela upp problemet i mindre delar. Koden behöver göra tre saker.

  1. dela upp adressen i delar
  2. kolla om sista delen matchar namnet på ett installerat tema
  3. logga om ett tema hittades
function check_url_for_theme() {
    $current_url = $_SERVER['REQUEST_URI'];
    error_log('Nuvarande URL: ' . $current_url);
    
    // Dela upp URL:en i delar
    $url_parts = explode('/', trim($current_url, '/'));
    
    // Sista delen av URL:en kan vara temanamnet
    $possible_theme = end($url_parts);
    
    // Hämta alla tillgängliga teman
    $available_themes = wp_get_themes();
    
    // Kontrollera om sista delen matchar ett tema
    if (isset($available_themes[$possible_theme])) {
        error_log('Hittade tema: ' . $possible_theme);
        // TODO: Implementera tema-byte här
    }

Efter att ha lagt in denna kod surfade jag till https://samio.se/3880/twentyten och fick tillbaka ”Hoppsan! Den sidan kan inte hittas.” men i loggen ser det bättre ut 🙂

[31-Dec-2024 19:39:40 UTC] Nuvarande URL: /
[31-Dec-2024 19:39:40 UTC] Detta är förstasidan
[31-Dec-2024 19:39:43 UTC] Nuvarande URL: /3880
[31-Dec-2024 19:39:43 UTC] Detta är ett enskilt inlägg
[31-Dec-2024 19:39:43 UTC] Post ID: 3880
[31-Dec-2024 19:39:50 UTC] Nuvarande URL: /3880/twentyten
[31-Dec-2024 19:39:50 UTC] Hittade tema: twentyten

Koden fungerar för att

  1. Identifiera URL:en (/3880/twentyten)
  2. Hitta temat (twentyten)
  3. Identifiera sidtypen (enskilt inlägg med ID 3880)

Så nu har användaren berättat allt vi behöver veta.

Problemet är att WordPress tolkar /3880/twentyten som en försök att nå en undersida till inlägget, vilket inte existerar.

Dags att lura WordPress!

Källor

Vad är detta

Här beskriver jag bygget av en plugin till WordPress. Exemplet ger dig möjlighet att byta utseende på en webbsida.

  1. Hur du skapar en WordPress plugin
  2. WordPress hooks
  3. Fånga URLen!
  4. Identifiera sidtyp
  5. Finns det nåt tema i webbadressen?

Related Articles

Steg 2 – Agens

Känner du dig överväldigad? Är nyheterna för mycket? Blir du helt lamslagen av allt som händer? Högerextrema autokrater försöker åstadkomma just det. När du känner…