WP-DOC

Pisanie motywu

02.10 Strona

Ostatnia modyfikacja: 19.01.2021

Ostatni plik w motywie do wyświetlania treści, którego brakuje to page.php. Zgodnie z hierarchią plików motywu nazwa może posiadać dodatkowe znaki. W tym pliku będziemy wyświetlać strony, które tworzymy w panelu administratora w dziale Strony. W motywie, na którym pracujemy plik page.php, posłuży do wyświetlenia treści strony Kontakt.

Wyświetlanie strony

Budowa pliku page.php będzie bardzo zbliżona do pliku single.php. Dlatego skopiuj plik single.php i nadaj mu nazwę page.php. Do wyświetlenia zawartości strony użyjemy dokładnie tej samej pętli co w przypadku kategorii czy pojedynczego wpisu. Tak jak wcześniej nie trzeba wprowadzać żadnych modyfikacji dla pętli, gdyż WordPress sam zinterpretuje kliknięty link i wyświetli zawartość w odpowiednim pliku.

Modyfikacja motywu

Różnica między stroną a wpisem będzie taka, że nie wyświetlimy informacji o dacie dodania postu, autorze oraz ilości komentarzy. Domyślnie komentarze na Stronie są wyłączone. Zatem z pliku page.php należy usunąć element ul wraz z zawartością. Zawartość pętli po zmianie powinna wyglądać jak na listingu niżej.

page.php – usunięcie listy ul z informacjami – fragment kodu

while (have_posts()) : the_post();
    ?>
    <article class="post_article post_article_single">
        <div class="post_article_content">
            <h1 class="post_article_title"><?php the_title(); ?></h1>

            <div class="post_article_img" style="background: url('<?php the_post_thumbnail_url('large'); ?>') center center no-repeat; background-size: cover"></div>

            <div class="text_post"><?php the_content(); ?></div>
        </div>
    </article>
    <?php
endwhile;

Zmiana wyglądu motywu, w zależności od strony

W zależności od strony, możemy zmienić wygląd motywu. Podobnie jak to było w przypadku kategorii, kiedy zmienialiśmy kolor tła pod nazwą kategorii lub pojedynczego wpisu. W motywie, na którym pracujemy obrazek wyróżniający jest wyświetlany na każdej stronie. Jednak efekt ten nie będzie pożądany, na przykład na stronie „Polityka prywatności”. Za pomocą funkcji is_page(), możemy sprawdzić czy aktualnie jest wyświetlana strona o danym numerze ID, podana jako argument tej funkcji. Oprócz numeru ID strony, funkcja ta może przyjąć jeden z kilku argumentów wymienionych niżej:

  • ID strony;
  • nazwa strony;
  • slug (uproszczona nazwa) strony;
  • tablica z numerami ID, nazwami lub slug;

Jeżeli nie zostanie podany żaden argument funkcji is_page(), funkcja zwróci true, jeżeli będzie wyświetlana strona..

Funkcja zwraca true lub false w zależności od tego czy strona istnieje czy też nie. W instrukcji warunkowej należy sprawdzić jaką wartość zwraca funkcja. Na poniższym listingu użycie funkcji is_page(). W moim przypadku strona Kontakt posiada numer ID 23.

page.php – sprawdzenie czy strona kontakt jest wyświetlana – fragment kodu

<?php
if(is_page(23)) {
    // Nie wyświetlamy obrazka 
} else {
?>
    <div class="post_article_img" style="background: url('<?php the_post_thumbnail_url('large'); ?>') center center no-repeat; background-size: cover"></div>    
<?php
}
?>

Lepszym rozwiązaniem, czy obrazek wyróżniający został dodany do wpisu lub strony, jest sprawdzeniem tego za pomocą funkcji has_post_thumbanil(), która została omówiona 06.08 Miniatury postów

Tablica argumentów is_page()

W przypadku kiedy te same zmiany mają dotyczyć kilku stron, wówczas wewnątrz funkcji is_page(), można posłużyć się tablicą. Przykładny użycia tablicy na listingu niżej.

Przykładu użycia tablicy w funkcji is_page().

// Dla ID strony
if(is_page(array(1,2))) {
    // Tutaj jakieś akcje 
}

// Dla nazwy strony
if(is_page(array('Nazwa 1','Nazwa 2'))) {
    // Tutaj jakieś akcje 
}

// Dla slug strony
if(is_page(array('nazwa-1','nazwa-2'))) {
    // Tutaj jakieś akcje 
}

// Tablica mieszana ID, nazwa, slug
if(is_page(array(6,'Nazwa 1','nazwa-2'))) {
    // Tutaj jakieś akcje 
}

Czytaj dalej…

02.11 Paginacja – stronicowanie

KOMENTARZE

Jeżeli masz pytanie lub sugestie dotyczącą artykułu to napisz komentarz. Wartościowe komentarze zostaną umieszczone jako opinie warte uwagi.

Napisz komentarz

Wszystkie pola są obowiązkowe. E-mail nie będzie udostępniony, ani wykorzystywany do rozsyłania wiadomości reklamowych.

Jeszcze nikt nie napisał komentarza.