Dodaj przycisk przełączania języków do menu WordPress w prosty sposób
Objaśnienie
Aby dodać przełącznik języków do menu WordPress, możesz użyć wtyczek WPML lub Polylang. Ten fragment kodu pomoże Ci zintegrować przełącznik języków w głównym menu na Twojej stronie.
- WPML: Jeśli WPML jest aktywne, kod sprawdza dostępne języki. Dodaje każdy język jako element menu, z wyjątkiem aktualnie aktywnego. Dzięki temu użytkownicy mogą przełączać się na dowolny inny dostępny język.
- Polylang: Podobnie, jeśli Polylang jest aktywne, kod wyświetla wszystkie dostępne języki w menu, z wyłączeniem aktualnego języka. Umożliwia to użytkownikom łatwe przełączanie języków z menu.
Kod wykorzystuje filtry WordPress do modyfikacji elementów menu. Sprawdza, czy wtyczki są aktywne, a następnie dodaje opcje językowe do menu. Upewnij się, że lokalizacja Twojego menu jest ustawiona na 'główne', aby to działało.
Kod
<?php
// Add a language switcher to the WordPress menu using WPML or Polylang
// Check if WPML is active and add language switcher to menu
function wp_dudecom_add_language_switcher_to_menu($items, $args) {
if (function_exists('icl_get_languages') && 'primary' === $args->theme_location) {
$languages = icl_get_languages('skip_missing=0');
if (!empty($languages)) {
foreach ($languages as $l) {
if (!$l['active']) {
$items .= '<li class="menu-item"><a href="' . esc_url($l['url']) . '">' . esc_html($l['native_name']) . '</a></li>';
}
}
}
}
return $items;
}
add_filter('wp_nav_menu_items', 'wp_dudecom_add_language_switcher_to_menu', 10, 2);
// Check if Polylang is active and add language switcher to menu
function wp_dudecom_add_polylang_language_switcher($items, $args) {
if (function_exists('pll_the_languages') && 'primary' === $args->theme_location) {
$languages = pll_the_languages(array('raw' => 1));
if (!empty($languages)) {
foreach ($languages as $l) {
if (!$l['current_lang']) {
$items .= '<li class="menu-item"><a href="' . esc_url($l['url']) . '">' . esc_html($l['name']) . '</a></li>';
}
}
}
}
return $items;
}
add_filter('wp_nav_menu_items', 'wp_dudecom_add_polylang_language_switcher', 10, 2);
?>
Instrukcja
Aby dodać przycisk przełączania języków do menu WordPress za pomocą WPML lub Polylang, wykonaj następujące kroki:
Lokalizacja pliku: Dodaj kod do pliku functions.php
swojego motywu lub do pliku własnej wtyczki.
Wymagania wstępne:
- Upewnij się, że masz zainstalowaną i aktywowaną wtyczkę WPML lub Polylang.
- Ustaw lokalizację swojego menu na 'primary' w ustawieniach motywu WordPress.
Kroki wdrożenia:
- Otwórz panel administracyjny WordPress.
- Przejdź do Wygląd > Edytor motywu lub użyj klienta FTP, aby uzyskać dostęp do plików swojego motywu.
- Znajdź i otwórz plik
functions.php
swojego aktywnego motywu. - Skopiuj i wklej podany fragment kodu do pliku
functions.php
. - Zapisz zmiany w pliku
functions.php
. - Sprawdź, czy przełącznik języków pojawia się w głównym menu nawigacyjnym twojej strony.
Jeśli napotkasz jakiekolwiek problemy lub potrzebujesz dalszej pomocy, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy przy wdrożeniu lub bardziej zaawansowanej funkcjonalności.