15
2015
WordPress + Polylang – Tworzenie klasy CSS z ID strony/wpisu w wybranym języku
Tworząc kolejny serwis oparty o WordPress z możliwością zmiany języków z wtyczką Polylang, potrzebowałem pobrać ID strony/wpisu w wybranym przez siebie języku. Strona klienta wyświetlała obrazek jako tło. Ten obrazek jest wyświetlany tylko na wybranych stronach, lecz taki sam dla wszystkich języków. Np: Strona Usługi ma takie samo tło w wersji polskiej, francuskiej i niemieckiej.
Aby to osiągnąć, musimy mieć jakiś stały punkt odniesienia, klasę CSS do której podepniemy inne tło dla wybranych stron. Jak wiemy dla każdego języka tworzona jest nowa strona z nowym ID w bazie danych. Klasy są tworzone właśnie z tymi numerami ID.
Należy wyciągnąć ID postu tylko w wybranym przez nas języku jako punkt zaczepienia.
Rozwiązanie
- Należy dodać klasę do pliku
style.css
w używanym motywie.123.pl-page-id-31 .page {background: url(../../uploads/uslugi.jpg) no-repeat;}Nazwa tej klasy zawiera kod języka (tu akurat Polski) oraz ID strony w tym właśnie języku. To będzie dodawane niezależnie od użytego języka. Jest to niezmienne i niezależne dla wybranego języka.
- Deklarujemy powyższą klasę w tagu
<BODY>
.
Umieszczamy w plikufunctions.php
filtr, który będzie automatycznie dodawał klasę z niezmiennym ID postu w wybranym przez nas języku.1234567function page_id_class( $classes ) {global $post;$language = 'pl'; // wybrany Polski, inne: 'en', 'de', 'ru' itd...$classes[] = $language . '-page-id-' . pll_get_post($post->ID, $language);return $classes;}add_filter( 'body_class', 'page_id_class' );
Wygląd taga<BODY>
przed wywołaniem filtra (numer 145 jest ID w języku np. niemieckim):
1<body class="page page-id-145 page-parent page-template-default">
Wygląd taga<BODY>
po wywołaniu filtra (numer 31 jest ID w języku polskim):
1<body class="page page-id-145 page-parent page-template-default pl-page-id-31">
Dodatkowe informacje
- Opis funkcji wtyczki Polylang.
- Opis funkcji body_class w WordPress.
- Autorskie funkcje/zmiany w Polylang by Tamas Baka.
Podobne tematy
2 komentarze + Dodaj komentarz
Dodaj komentarz do Daria
O mnie
Najnowsze wpisy
- Drzewo kategorii – budowa struktury od dołu do góry
- PHPExcel – export + import pliku XLS
- WordPress + Polylang – Tworzenie klasy CSS z ID strony/wpisu w wybranym języku
- Mailing – Poprawna konstrukcja szablonu maila HTML/CSS i prawidłowy wygląd w programie pocztowym
- Szukasz programisty PHP dla e-commerce?
Mogę zapytać jak duże jest Twoje doświadczenie?
Jak długo się tym zajmujesz?
a jaki pomysl na rozne tla przy innych wersjach jezykowych? czyli inny jezyk inne tlo?