Struktura plików w Wordpress - okładka

Struktura plików w WordPress

Opublikowano Kategorie WordPressCzas czytania 4min

Jednym ze sposobów na tworzenie motywów w WordPress jest stworzenie struktury plików o określonych nazwach. Nazwa pliku zależy od funkcji, jaką pełni dany plik. Taki plik może stanowić odrębną część motywu, na przykład plik single.php odpowiadający za stronę pojedynczego wpisu. Pliki mogą też stanowić element składowy strony lub podstrony. Takimi plikami są na przykład header.php, czy footer.php.

Dokładne omówienie poszczególnych plików znajduje się z WordPress Codex, czyli dokumentacji WordPressa. Bardzo obszernie zostało to też przedstawione na diagramie dostępnym pod tym linkiem.

Pliki główne

Najważniejszym plikiem jest index.php, który jest plikiem głównym. To na nim wszystko się zaczyna i na nim wszystko się kończy. Jeżeli będziesz chciał wywołać plik, którego nie ma, bądź do którego nie masz dostępu, to zostaniesz przekierowany właśnie do pliku index.

Kolejnym bardzo istotnym plikiem jest plik style.css. Najczęściej zawiera on jedynie tzw. deklarację motywu, czyli dane o: autorze, miniaturce motywu w panelu, licencji, adresie www itp. Poniżej zamieszczam przykład.


/*
Theme Name: devszczepaniak.pl
Theme URI: https://devszczepaniak.pl
Author: Dominik Szczepaniak
Author URI: https://devszczepaniak.pl
Description: Devszczepaniak blog theme
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: devszczepaniak
*/

Innym, równie ważnym plikiem jest plik functions.php. Ten plik odpowiada za obsługę funkcjonalności na naszej witrynie. To właśnie tutaj możemy włączyć lub wyłączyć poszczególne funkcje, zarządzać innymi plikami, chować i pokazywać elementy na przykład admin bar.

Właśnie w tym pliku powinniśmy dołączać skrypty oraz style do naszego motywu. Spora część początkujących WordPress developerów popełnia ten błąd, że style i skrypty dodaje poprzez standardowe znaczniki HTML w plikach header.phpfooter.php. Do dołączania stylów i skryptów w WordPress służą funkcje wp_enqueue_style() oraz wp_enqueue_script(). Poniżej przedstawiam przykład poprawnego podpięcia skryptu.


function load_scripts() {
    wp_enqueue_style('roboto', 'https://fonts.googleapis.com/css?family=Roboto', false, null);
    wp_enqueue_style('font-awesome', 'https://use.fontawesome.com/releases/v5.0.13/css/all.css', false, null);
    wp_enqueue_script('app', get_template_directory_uri() . '/dist/js/bundle.js', null, null, true);
}
add_action('wp_enqueue_scripts', 'load_scripts', 100);

Warto zwrócić uwagę, że podczas dodawania skryptu ostatni parametr ma wartość true, co powoduje, że skrypt zostaje załadowany na końcu znacznika body.

Pliki struktur

Struktura plików w WordPress obsługuje także inne pliki. Takimi są na przykład page.phparchive.php, single.php, tag.php, taxonomy.php, category.php czy też author.php.

Pliki te pozwalają na stworzenie stron dla tagów, postów, archiwów, taksonomii itd. Ponadto WordPress umożliwia na stworzenie unikatowego pliku dla poszczególnych elementów z tych zbiorów. Odbywa się to poprzez stworzenie osobnego pliku. Na przykład, chcąc stworzyć osobną stronę dla jakiejś kategorii, można stworzyć plik na podstawie schematu category-$slug.php lub category-$id.php, gdzie w miejsce $id/$slug wpisujemy id lub slug kategorii. Analogicznie odbywa się to dla pozostałych plików wymienionych wcześniej, z tym że na przykład dla autora możemy podać imię, a dla archiwum posttype. Każdy z plików może przyjmować swoje określone parametry.

Do tej kategorii zaliczyłbym również pliki tj. 404.php, który wyświetla się, gdy zasób nie zostanie odnaleziony na stronie, czy też search.php.

Struktura plików w WordPress - blog

Pliki elementów składowych

Do tej kategorii można zaliczyć wszelkie pliki, które nie mogą wyświetlić się samodzielnie, gdyż są jedynie elementami na stronie, takimi jak sidebar, header czy footer. Nazwy plików odpowiadają przeznaczeniu elementu, na przykład footer.php.  Każdy z elementów można dołączyć do plików struktur. Służą do tego funkcje takie jak: get_header(), get_footer(), get_sidebar().

Możemy też tworzyć kilka wersji takich plików. Załóżmy, że nie chcemy, aby na stronach innych niż główna nasz header posiadał logo. W tym celu należy stworzyć plik o nazwie na przykład header-no_logo.php, w którym pozbywamy się loga. Dołączając ten plik, należy pamiętać, aby w funkcji dodać nazwę rozszerzenia po myślniku, w naszym przypadku get_header('no_logo').

Po więcej szczegółów zapraszam do Codexa. Jeśli masz jakieś pytania, to zostaw je w komentarzu.

Dominik Szczepaniak

Zawodowo Senior Software Engineer w CKSource. Prywatnie bloger, fan włoskiej kuchni, miłośnik jazdy na rowerze i treningu siłowego.

Inne wpisy, które mogą Cię zainteresować

Zapisz się na mailing i odbierz e-booka

Odbierz darmowy egzemplarz e-booka 106 Pytań Rekrutacyjnych Junior JavaScript Developer i realnie zwiększ swoje szanse na rozmowie rekrutacyjnej! Będziesz też otrzymywać wartościowe treści i powiadomienia o nowych wpisach na skrzynkę e-mail.

Subscribe
Notify of
guest

2 komentarzy
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
computertop
computertop
9 months ago

Wielkie dzięki za ten wpis 🙂 Wszystkiego dobrego życzę!