Pod koniec ubiegłego roku (2021) opublikowałem artykuł o tym, jak w prosty sposób stworzyć w WordPressie własne typy postów (Custom Post Types). Niedawno dostałem pytanie, jak można dla własnego typu postów stworzyć różny wygląd postu, zależnie od tego, do jakiej kategorii będzie przypisany.
Szablon własnego typu postów w WordPressie zależny od…
Korzystając z motywów typu Divi czy Elementor, można zrobić to za pomocą kilku kliknięć, tworząc odpowiednie szablony strony dla danego tupu postu, przypisane do konkretnych kategorii. Ale podobny efekt można uzyskać niezależnie od motywu, za pomocą kilku linijek PHP.
Ten artykuł (poradnik) będzie w pewnym sensie rozwinięciem poradnika o własnych typach postów, o którym wspomniałem na początku, więc będę opierał się na założeniach i informacjach w nim opisanych.
I tak w opisywanym tam przypadku, za wygląd pojedynczego wpisu w ramach własnego typu postów odpowiada plik single-newslog.php, gdzie znajduje się cała struktura HTML, odpowiedzialna za wyświetlenie zawartości postu/wpisu.
Zaczynamy od zmiany nazwy tego pliku (single-newslog.php) np. na single-newslog01.php, oraz utworzeniu – choćby na bazie tego samego pliku – pliku single-newslog02.php z alternatywnym wyglądem. Zależnie od potrzeb.
Kolejny krok, to utworzenie pliku single-newslog.php, ale tym razem bez zawartości związanej z wyglądem (prezentacją treści), a z regułą, która będzie decydować, kiedy i jaki plik wczytać (w naszym przypadku single-newslog01.php lub single-newslog02.php):
<?php
if ( in_category( 123 ) ) {
include( get_stylesheet_directory() . '/single-newslog01.php' );
} else {
include( get_stylesheet_directory() . '/single-newslog02.php' );
}
W tym przypadku dla postów należących do kategorii o identyfikatorze 123 będzie wczytywany szablon z pliku single-newslog01.php, a dla pozostałych single-newslog02.php.
Oczywiście jest to wersja z jednym podstawowych warunkiem, ale bez problemu całość można rozbudować o dodatkowe warunki, zależnie od potrzeb.
- Erste Bank z dużymi bonusami za założenie konta – do 4500 zł za założenie konta firmowego, i do 700 zł za założenie konta osobistego - 1970-01-01
- Home Assistant (tak jakby) porzucił „stare” wyzwalacze i warunki związane z (nie) obecnością w domu, a nowe na razie są tylko w zapowiedziach - 1970-01-01
- Błąd kompilacji „redefinition of uint32_t iteration” w ESPHome 2026.4, czyli zagnieżdżonym repeat i problematyczny delay - 1970-01-01





