Pure Digital

Multilanguage i Oxygen 6 med Polylang: Sådan laver du sprog-specifikke templates

Vil du have multilanguage på din Oxygen 6 hjemmeside med Polylang? Det er faktisk super nemt – selvom builderen ikke har indbygget support. Med et lille kodesnippet får du fuld kontrol over, hvilke headers, footers og templates der vises på dansk, engelsk eller andre sprog.
I denne guide viser jeg dig trin for trin, hvordan du sætter det op. Du får det præcise kodesnippet, og jeg viser dig præcis, hvor du bruger det i builderen.
screenshot 01

Hvorfor bruge Polylang sammen med Oxygen 6?

Polylang er stadig et af de mest populære gratis værktøjer til multilanguage på WordPress. Det er stabilt, SEO-venligt og integrerer godt med de fleste builders.
Problemet er, at Oxygen 6 (og dens efterfølger Breakdance) ikke har en indbygget betingelse for sprog. Derfor kan du ikke automatisk vise en dansk header på danske sider og en engelsk på engelske.
Løsningen? Et lille stykke kode, der tilføjer en ny “Locale”-betingelse direkte i builderen. Det tager under 2 minutter at sætte op.

Trin 1: Installer og opsæt Polylang

Først skal du have Polylang kørende:

  • Installer Polylang (gratis version er nok til de fleste).
  • Tilføj dine sprog (f.eks. dansk og engelsk).
  • Opret separate menus, headers og sider for hvert sprog.

Når det er på plads, er du klar til at koble det sammen med Oxygen 6.

Trin 2: Tilføj Polylang-betingelsen med kodesnippet

Kopier og indsæt dette kodesnippet i et custom code plugin som Code Snippets:
add_action('breakdance_register_template_types_and_conditions', function () {
    if (!function_exists('pll_languages_list') || !function_exists('pll_current_language')) {
        return;
    }

    \Breakdance\ConditionsAPI\register([
        'supports' => ['element_display', 'templating'],
        'slug' => 'polylang-condition',
        'label' => 'Locale',
        'category' => 'Polylang',
        'operands' => ['equals', 'not equals'],
        'allowMultiselect' => false,
        'values' => function () {
            return [[
                'label' => 'Language',
                'items' => array_map(
                    fn($lang) => ['text' => $lang, 'value' => $lang],
                    pll_languages_list()
                ),
            ]];
        },
        'callback' => function (string $operand, string $value): bool {
            $current = pll_current_language();
            return match ($operand) {
                'equals' => $current === $value,
                'not equals' => $current !== $value,
                default => false,
            };
        },
    ]);
});
* koden er en optimeret version af SupaMikes kode til at gøre det samme i breakdance. Se den her:

Trin 3: Opsæt sprog-specifikke templates

Gå ind i din builder og opret separate templates (f.eks. Header DK og Header UK).

Åbn betingelserne for hver template og vælg:

  • Polylang → Locale → equals → da (for dansk)
  • Polylang → Locale → equals → en (for engelsk)

Her er, hvordan det ser ud i praksis:

screenshot 02screenshot 03
Nu skifter headeren automatisk, når brugeren skifter sprog via Polylang.

Tips til fejlfinding og ekstra funktionalitet

  • Virker ikke? Tjek at Polylang er aktiv og at du har mindst to sprog. Ryd cache.
  • Vil du skjule noget på bestemte sprog? Brug “not equals” i stedet for “equals”.
  • Avanceret: Du kan bruge samme betingelse på hele sider, footers, popups og elementer inde i builderen.
  • SEO-bonus: Polylang håndterer hreflang-tags automatisk – perfekt til Google.

Opsummering

At kombinere Oxygen 6 og Polylang til en multilanguage-hjemmeside kræver et enkelt kodestykke, men giver til gengæld fuld fleksibilitet. Med koden fra dette indlæg får du en Polylang-betingelse direkte i Oxygen 6's builder, så du kan styre templates og elementer pr. sprog uden besværlige workarounds.

Spørgsmål og svar om: Multilanguage i Oxygen 6 med Polylang: Sådan laver du sprog-specifikke templates

Oxygen 6 har ikke en desideret functions.php fil, så Code Snippets er at foretrække.
Ja, kodestykket bruger kun funktioner fra den gratis Polylang-version og kræver ikke Polylang Pro.
Koden tjekker selv om Polylang-funktionerne eksisterer. Er de ikke til stede, gør koden ingenting og kaster ingen fejl.
Ja, betingelsen understøtter både element_display og templating, så du kan bruge den på alt i Oxygen
Ja, koden bruger breakdance_register_template_types_and_conditions, som er den korrekte hook i Oxygen 6 / Breakdance-arkitekturen.
Ja, brug betingelsen not equals i stedet for equals – så vises elementet på alle sprog undtagen det valgte.
Koden henter automatisk alle aktive sprog via pll_languages_list(), så den virker uanset antal sprog.
Om Pure Digital
Pure Digital er et digitalt bureau, der leverer datadrevne løsninger med fokus på målbare resultater og gennemsigtighed i et spændingsfelt  mellem udvikling og marketing.
Services
menu