Snippet

Przypisz różne wersje językowe do stron i wpisów WordPressa

Jak stworzyć wielojęzyczną stronę WordPressTłumaczenie postów WordPress na różne językiDodawanie wielu języków do stron WordPressKonfiguracja wtyczki wielojęzycznej WordPressPrzypisywanie różnych języków do postów WordPressKonfiguracja przełącznika języków w WordPressTłumaczenie niestandardowych typów postów WordPressPrzewodnik po wsparciu wielojęzycznym w WordPressKonfiguracja wielojęzycznego bloga WordPressStrona WordPress w wielu językach

Objaśnienie

Aby uczynić swoją stronę WordPress wielojęzyczną, ten kod pomoże Ci przypisać różne języki do Twoich postów i stron. Oto jak to działa:

Niższe kategorie językowe:

  • Kod tworzy nową kategorię o nazwie "Języki", którą możesz wykorzystać do oznaczania swoich postów i stron różnymi językami.
  • To osiąga się poprzez rejestrację niestandardowej taksonomii, co jest po prostu eleganckim sposobem na powiedzenie, że tworzysz nowy sposób kategoryzowania swojej treści.

Przełącznik języków:

  • Na Twojej stronie dodawany jest przełącznik języków, który pozwala odwiedzającym wybrać, w jakim języku chcą przeglądać treść.
  • Ten przełącznik jest wyświetlany jako lista linków, z których każdy reprezentuje inny język.

Shortcode dla przełącznika języków:

  • Możesz łatwo dodać przełącznik języków w dowolnym miejscu na swojej stronie, używając shortcode [language_switcher].
  • Po prostu wklej ten shortcode do dowolnego posta, strony lub obszaru widgetów, w którym chcesz, aby przełącznik się pojawił.

Filtrowanie treści według języka:

  • Kod zawiera również funkcję filtrowania postów na podstawie wybranego języka.
  • Kiedy użytkownik wybierze język, wyświetlane będą tylko posty i strony oznaczone tym językiem.

Ta konfiguracja pozwala zarządzać i wyświetlać treści w wielu językach, co sprawia, że Twoja strona jest dostępna dla szerszej publiczności. Pamiętaj jednak, że będziesz musiał ręcznie przetłumaczyć swoją treść i przypisać odpowiednie tagi językowe do każdego posta lub strony.

Kod

1<?php 2// Function to register a custom taxonomy for languages 3function wp_dudecom_register_language_taxonomy() { 4 $labels = array( 5 'name' => 'Languages', 6 'singular_name' => 'Language', 7 'search_items' => 'Search Languages', 8 'all_items' => 'All Languages', 9 'edit_item' => 'Edit Language', 10 'update_item' => 'Update Language', 11 'add_new_item' => 'Add New Language', 12 'new_item_name' => 'New Language Name', 13 'menu_name' => 'Languages', 14 ); 15 16 $args = array( 17 'hierarchical' => true, 18 'labels' => $labels, 19 'show_ui' => true, 20 'show_admin_column' => true, 21 'query_var' => true, 22 'rewrite' => array('slug' => 'language'), 23 ); 24 25 register_taxonomy('language', array('post', 'page', 'custom_post_type'), $args); 26} 27add_action('init', 'wp_dudecom_register_language_taxonomy'); 28 29// Function to add a language switcher to the site 30function wp_dudecom_language_switcher() { 31 $languages = get_terms(array( 32 'taxonomy' => 'language', 33 'hide_empty' => false, 34 )); 35 36 if (!empty($languages) && !is_wp_error($languages)) { 37 echo '<ul class="language-switcher">'; 38 foreach ($languages as $language) { 39 echo '<li><a href="' . esc_url(get_term_link($language)) . '">' . esc_html($language->name) . '</a></li>'; 40 } 41 echo '</ul>'; 42 } 43} 44 45// Shortcode to display the language switcher 46function wp_dudecom_language_switcher_shortcode() { 47 ob_start(); 48 wp_dudecom_language_switcher(); 49 return ob_get_clean(); 50} 51add_shortcode('language_switcher', 'wp_dudecom_language_switcher_shortcode'); 52 53// Function to filter posts by selected language 54function wp_dudecom_filter_posts_by_language($query) { 55 if (!is_admin() && $query->is_main_query() && (is_post_type_archive() || is_tax('language'))) { 56 if (isset($_GET['language']) && !empty($_GET['language'])) { 57 $query->set('tax_query', array( 58 array( 59 'taxonomy' => 'language', 60 'field' => 'slug', 61 'terms' => sanitize_text_field($_GET['language']), 62 ), 63 )); 64 } 65 } 66} 67add_action('pre_get_posts', 'wp_dudecom_filter_posts_by_language'); 68?>

Instrukcja

Lokalizacja pliku: Dodaj poniższy kod do pliku functions.php swojego motywu lub do pliku niestandardowej wtyczki.

Wymagania wstępne:

  • Upewnij się, że masz dostęp do plików motywu WordPress lub możliwość stworzenia niestandardowej wtyczki.
  • Podstawowa znajomość nawigacji w panelu administracyjnym WordPress.

Kroki wdrożenia:

  1. Dostęp do plików WordPress: Użyj klienta FTP lub menedżera plików swojego dostawcy hostingu, aby uzyskać dostęp do instalacji WordPress.
  2. Edytuj plik functions.php: Przejdź do wp-content/themes/nazwa-twojego-motywu/functions.php i otwórz go do edycji. Alternatywnie, stwórz nowy plik niestandardowej wtyczki w wp-content/plugins/ i otwórz go do edycji.
  3. Wklej kod: Skopiuj podany kod i wklej go na końcu swojego pliku functions.php lub w pliku niestandardowej wtyczki.
  4. Zapisz zmiany: Zapisz zmiany w pliku i zamknij edytor.
  5. Zweryfikuj rejestrację taksonomii: Zaloguj się do panelu administracyjnego WordPress, przejdź do Wpisy lub Strony i sprawdź, czy dostępna jest nowa taksonomia "Języki" do kategoryzowania treści.
  6. Dodaj terminy językowe: Przejdź do Wpisy > Języki i dodaj języki, które chcesz używać na swojej stronie.
  7. Przypisz języki do treści: Edytuj swoje wpisy i strony, a następnie przypisz odpowiedni język z taksonomii "Języki".
  8. Użyj przełącznika języków: Dodaj shortcode [language_switcher] do dowolnego wpisu, strony lub obszaru widgetu, w którym chcesz, aby przełącznik języków się pojawił.
  9. Przetestuj filtrowanie językowe: Odwiedź swoją stronę i użyj przełącznika języków, aby upewnić się, że treści są filtrowane poprawnie w zależności od wybranego języka.

W celu uzyskania dalszej pomocy lub zaawansowanej funkcjonalności, rozważ skontaktowanie się z ekspertami z wp-dude.com w celu uzyskania profesjonalnego wsparcia WordPress.