WPML: Jak vytvořit vlastní design language switcheru

Zrovna tvořím webové stránky pro jednu světovou organizaci, kde bylo potřeba udělat multijazyčný web. Požadavky byly takové, že na desktopu se měl language switcher pro přepínání jazyků zobrazovat jinak, než v mobilním menu. No a jelikož mám pocit, že v defaultním nastavení WPML lze zvolit jen jeden vzhled, tak nezbývalo nic jiného, než si to vytvořit pomocí vlastního kódu.

Ke kódu níže ještě upozorním, že pakliže stránka nemá vytvořený překlad, tak se po kliknutí na daný jazyk návštěvník dostane na hlavní stránku daného jazyka. Je tam trochu změna od defaultního nastavení, když využijete (například v Bricks) prvek Language switcher, kde pokud stránka překlad nemá, tak se ani nezobrazí switcher pro možnost přepunutí do daného jazyka.

<?php
// Získání dostupných jazyků
$languages = apply_filters('wpml_active_languages', null, ['skip_missing' => 0]);

if (!empty($languages)) : ?>
    <div class="ap-language-switcher">
        <?php foreach ($languages as $lang) : ?>
            <a href="<?php echo esc_url($lang['url']); ?>" class="language-flag">
                <img 
                    src="<?php echo esc_url($lang['country_flag_url']); ?>" 
                    alt="<?php echo esc_attr($lang['native_name']); ?>" 
                    width="32" height="32"
                />
            </a>
        <?php endforeach; ?>
    </div>
<?php endif; ?>

Z

150 150 Adam Pražan

Adam Pražan

Tvořím weby, reklamy a dělám komplexní marketing. Specializuji se na menší lokální projekty, kterým pomáhám od A do Z. Podniká se semnou dobře. Jsem přátelský, zodpovědný, samostatný a držím dohodnutou cenu.

All stories by : Adam Pražan

Leave a Reply