Languages: বাংলা • English • Español • 日本語 한국어 • Polski • Português do Brasil • Русский • 中文(简体) • 中文(繁體) • (Add your language)
Artykuł dotyczy tworzenia i rozwijania motywów Wordpressa. Jeżeli chcesz dowiedzieć się więcej o tym jak instalować i używać motywy, sprawdź używanie motywów. Bieżący artykuł różni się od tamtego artykułu, ponieważ omawia techniczne aspekty pisania kodu, w celu tworzenia własnych motywów, a nie informacje o tym jak je uruchomić lub skąd wziąć. Czyli: jak motyw wygląda "od zaplecza".
Motyw WordPressa to zbiór plików, które razem tworzą wygląd i funcjonalność strony opartej na Wordpressie. Każdy motyw może być inny, oferując wiele możliwości właścicielom stron. Pozwala to na błyskawiczną zmianę ich wyglądu.
Możesz opracować motyw WordPressa dla własnego użytku, do projektu klienta, lub zgłosić go do Katalogu Motywów WordPressa. Po co budować własny Motyw?
Motywy WordPressa mają wiele zalet.
Dlaczego powinieneś zbudować własny motyw Wordpressa? Oto pytanie.
Motywy WordPressa powinny być kodowane tak, aby przestrzegać poniższych standardów:
Motywy WordPressa mieszczą się w podkatalogach folderu z motywami (domyślnie: wp-content/themes/) który nie może być bezpośrednio przeniesiony za pomocą pliku wp-config.php. Podkatalogi motywów zawierają wszystkie arkusze stylów, Pliki motywu, opcjonalny plik funkcji (functions.php), skrypty JavaScript oraz obrazki. Na przykład motyw nazwany "test" mieści się w katalogu wp-content/themes/test/. Unikaj używania liczb w nazwie motywu. Może to uniemożliwić wyświetlenie go na liście dostępnych motywów.
WordPress posiada domyślny motyw w każdej nowej instalacji. Przyjrzyj się dokładnie jego plikom, aby zobaczyć z czego motyw jest zbudowany.
Przedstawienie struktury motywów na infografice: Anatomia Motywu WordPressa (en).
Motywy WordPressa zwykle zawierają trzy rodzaje plików. Oprócz tego mogą zawierać grafiki i skrypty JavaScript.
Przyjrzyjmy się im pokolei.
Najprostszy motyw to motyw potomny. Zawiera tylko plik "style.css" oraz grafiki. Jest to możliwe, ponieważ jest "potomkiem/dzieckiem" innego motywu, który jest jego rodzicem.
Szczegółowe informacje na temat motywów potomnych tu: pl:Motywy Potomne.
Oprócz stylów CSS, plik "style.css" musi zawierać informacje o motywie w postaci komentarzy. Nie mogą istnieć dwa motywy z takimi samymi informacjami w nagłówkach, ponieważ będzie to powodowało problemy na stronie wyboru motywu. Jeżeli tworzysz motyw na bazie istniejącego, upewnij się, że zmieniłeś te informacje.
Poniższy przykład to kilka linii początkowych linii arkusza stylów motywu "Twenty Thirteen", zwanych nagłówkiem arkusza styli:
/* Theme Name: Twenty Thirteen Theme URI: http://wordpress.org/themes/twentythirteen Author: the WordPress team Author URI: http://wordpress.org/ Description: The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small. Version: 1.0 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready Text Domain: twentythirteen This theme, like WordPress, is licensed under the GPL. Use it to make something cool, have fun, and share what you've learned with others. */
Przy okazji: Dobrym pomysłem jest wpisanie przy elemencie "Author" nazwy (imienia, nazwiska, pseudonimu) takiego samego jak Twoja nazwa użytkownika na wordpress.org. Ale równie dobrze może to być Twoje prawdziwe imię i nazwisko. Jak chcesz.
Wypisz tagi, które opisują Twój motyw. Pozwoli to innym użytkownikom znaleźć go używając filtra tagów. Tu znajdziesz listę wszystkich dozwolonych tagów.
Nagłówek w postaci komentarza w pliku style.css jest wymagany, aby WordPress był wstanie rozpoznać Twój motyw i w ogóle wyświetlić go w panelu administracyjnym w zakładce Wygląd > Motywy.
Motyw może używać pliku z funkcjami, który znajduje się w głównym katalogu motywu. Jego nazwa to functions.php. Ten plik działa jak wtyczka, and jeżeli jest dostępny w aktualnie używanym motywie, automatycznie się ładuje podczas wczytywania WordPressa (i w panelu administratora i na zewnętrznych stronach). Proponowane użycie:
Domyślny szablon WordPressa posiada plik functions.php z wieloma wymienionymi funkcjami. Możesz wiec używać go jako wzór. Odkąd functions.php w zasadzie działa jako wtyczka, lista referencji funkcji jest najlepszym miejscem z informacjami o tym, co możesz zrobić z tym plikiem.
Informacje jak zdecydować się kiedy dodać funkcje do functions.php, a kiedy do osobnej wtyczki: Możesz dojść do wniosku, że potrzebujesz tej samej funkcji w więcej niż jednym motywie potomnym. Powinieneś wtedy zapisać tę funkcję jako wtyczkę, zamiast dodawać ją do pliku functions.php każdego motywu. Funkcje zawarte we wtyczce są widziane przez wszystkie motywy.
Motywy są plikami PHP, używanymi do generowania stron HTML, na które wchodzą odwiedzający. Pliki szablonów składają się z kodu HTML, PHP oraz Tagów szablonów.
Przyjrzyjmy się jak różne szablony mogą zostać częścią motywu.
WordPress umożliwia Ci zdefiniowanie oddzielnych szablonów dla różnych fragmentów strony. Szablony są wybierane i generowane na bazie hierarchii szablonów, w zależności od tego jakie szablony są dostępne w danym motywie.
Jako twórca motywów, możesz wybierać liczbę dostosowań, które dodasz do swojego motywu. Na przykład, w ekstremalnym przypadku, możesz użyć tylko jednego pliku szablonu (index.php) jako szablonu dla wszystkich stron generowanych na Twojej witrynie. Lepszym rozwiązaniem jest korzystanie z różnych plików szablonów. Pozwalają one osiągać różne wyniki w zależności od rodzaju strony, postu, itp.
Poniżej zamieszczono listę plików motywów rozpoznawanych przez WordPressa. Oczywiście Twój motyw może zawierać inne arkusze stylów, obrazy, czy pliki. Po prostu pamiętaj, że poniższe pliki mogą mieć specjalne znaczenie dla Wordpressa -- więcej informacji tu: pl:Hierarchia szablonów.
Te pliki mają specjalne znaczenie w odniesieniu do WordPressa. Zastępują, gdy to możliwe index.php, zgodnie z hierarchią szablonów i gdy tag warunkowy zwraca wartość prawda. Na przykład, jeśli wyświetlany jest tylko pojedyńczy post, funkcja [[pl:Conditional Tags#A Single Post page]|is_single()] zwraca prawdę i jeśli w bieżącym motywie istnieje szablon single.php, zostanie użyty do wygenerowania strony.
Jako minimum, motyw Wordpressa musi zawierać dwa pliki:
Oba z nich znajdują się w folderze motywu. index.php template file jest bardzo elastyczny. Może być użyty do dołączenia wszelkich odwołań do nagłówka, sidebara, stopki, zawartości, kategorii, archiwów, wyszukiwań, błędów i każdej innej strony tworzonej w WordPressie.
Lub, może zostać podzielony na poszczególne pliki szablonów. Jeśli ich nie dodasz, WordPress użyje domyślnych plików lub funkcji, aby wykonały swoją robotę. Na przykład, jeśli nie stworzysz szablonu searchform.php, WordPress ma wbudowaną funkcję, która wyświetli formularz wyszukiwania.
Zwykle tworzone pliki szablonów załączanych do index.php to:
Aby użyć tych szablonów, możesz dodać tagi wewnątrz głównego pliku index.php, żeby dołączyć je tam, gdzie chcesz, aby się pojawiły.
Poniżej przykład użycia include:
<?php get_sidebar(); ?> <?php get_footer(); ?>
Domyślne pliki niektórych funkcji mogą być przestarzałe lub nieobecne, więc powinieneś dodać te pliki szablonów w swoim motywie. Od wersji 3.0, przestarzałe domyślne pliki umieszczone są w wp-includes/theme-compat
. Na przykład, powinieneś dodać header.php dla funkcji get_header() aby pracować bezpieczniei comments.php dla funkcji comments_template().
Więcej informacji o tym, jak różne szablony działają i jak generować w nich różne informacje, przeczytaj dokumentację szablonów.
Pliki definiujące szablon każdej strony położone są w katalogu The files defining each page template are found in your motywu. Aby stworzyć nowy niestandardowy szablon strony, musisz utworzyć nowy plik. Nazwijmy go np. snarfer.php. Na jego początku napisz:
<?php /* Template Name: Snarfer */ ?>
Powyższy kod opisuje plik snarfer.php jako szablon "Snarfer". Oczywiście, "Snarfer" to przykładowa nazwa kategorii i pliku i możesz ją zamienić na prawie każdy inny tekst, aby zmienić nazwę szablonu strony. Nazwa tego szablonu wyświetli się w Edytorze motywu jako link do edycji tego pliku.
Plik może mieć prawie dowolną nazwę, kończącą się rozszerzeniem .php (sprawdź, jakie są zarezerwowane nazwy plików motywu, żeby dowiedzieć się czego nie używać; są to specjalne nazwy plików zarezerwowane przez WordPressa do specyficznych zastosowań).
Co znajdzie się za tymi pięcioma wierszami zależy od Ciebie. Reszta kodu, który napiszesz, będzie kontrolować jak wyświetlą się strony używające szablonu Snarfer. Opisy różnych funkcji WordPressa znajdziesz w tagach szablonów. Wygodne może być skopiowanie innego szablonu (np. page.php albo index.php) pod nazwą snarfer.php i dodanie odpowiedniego komentarza na początku pliku (te pięć linii). Następnie poprostu zmodyfikujesz kod HTML lub PHP, zamiast pisać wszystko od początku. Przykłady znajdziesz niżej. Gdy stworzysz szablon strony i umieścisz w katalogu z motywem, będzie można z niego korzystać podczas tworzenia albo edytowania strony. (Mała informacja: podczas tworzenia/edycji strony, opcja wyboru szablonu nie wyświetli się, jeśli nie stworzyłeś żadnego lub zapomniałeś umieścić go w katalogu z motywem.)
WordPress może wczytywać różne szablony w zależności od rodzaju zapytania. Są na to dwa sposoby: można skorzystać z wbudowanej hierarchii szablonów lub z tagów warunkowych w pętli pliku szablonu.
Aby skorzystać z hierarchii szablonów, musisz stworzyć odpowiednie szablony, które automatycznie zostaną użyte zamiast domyślnego index.php. Na przykład, jeśli stworzyłeś dla Twojego motywu szablon category.php i jest wywołana kategoria, zamiast index.php zostanie użyty właśnie category.php. Jeśli nie istnieje plik category.php, Wordpress użyje uniwersalnego index.php.
Możesz zrobić coś więcej! Gdy stworzysz plik nazwany, np. category-6.php, zostanie on użyty zamiast category.php podczas generowania strony kategorii z numerem ID równym 6. (Numer ID kategorii znajdziesz w Kokpicie w zakładce 'Kategorie', klikając 'Edytuj kategorię'. Numer wyświetli się na pasku adresu: '...categories.php?action=edit&cat_ID=3'. '3' jest numerem kategorii). Więcej szczegółów o tym procesie: pl:Szablony kategorii.
Jeśli w swoim motywie potrzebujesz większej kontroli nad tym, które pliki szablonów są używane, możesz użyć tagów warunkowych. Tag warunkowy po prostu sprawdza, czy dany warunek jest spełniony (w danej pętli WordPressa). Jeśli tak, możesz wtedy wczytać konkretny szablon, lub wyświetlić na ekranie odpowiedni tekst (w zależności od warunku).
Na przykład, aby użyć odmiennego szablonu w postach znajdujących należących do danej kategorii, potrzebny jest taki kod:
<?php if ( is_category( '9' ) ) { get_template_part( 'single2' ); // szuka postów z kategorii o ID '9' } else { get_template_part( 'single1' ); // używa tego do postów z pozostałych kategorii } ?>
Lub, używając zapytań:
<?php $post = $wp_query->post; if ( in_category( '9' ) ) { get_template_part( 'single2' ); } else { get_template_part( 'single1' ); } ?>
Ten przykładowy kod wyświetli różne szablony w zależności od kategorii wyświetlanego posta. Warunki zapytań nie ograniczaja się do kategorii. Poczytaj o tagach warunkowych, by poznać wszystkie opcje.
Można użyć pluginów, aby określić dodatkowe szablony, wyświetlające się według Twoich kryteriów. Korzysta się z tej zaawansowanej funkcji za pomocą zaczepu akcji "template_redirect". Więcej informacji o tworzeniu wtyczek, znajdziesz w materiałach o pl:API wtyczek.
Aby załadować szablon (ale nie nagłówek, pasek boczny, stopka - one są predefiniowane funkcjami takimi jak get_header()) do innego szablonu, możesz użyć get_template_part(). Ułatwia to wielokrotne wykorzystanie bloków kodu.
C.D.N.