Tworzenie szablonu WordPress | Pętla - główna struktura WordPress | Z notatnika webmasterki

Z notatnika webmasterki

23 Sty, 2011

WordPress: wygląd (odc.5) – główny plik skórki

Zamieszczony przez: Joanna w: WordPress

Po przeanalizowaniu kodu standardowego nagłówka i standardowego headera skórki o nazwie “Classic” pora zająć się strukturą głównego pliku czyli index.php. Jak widać na schemacie pokazanym w artykule o strukturze szablonu WordPress jest to w zasadzie najważniejszy (w połączeniu z nagłówkiem i stopką) plik tej struktury. Zawarty w nim skrypt jest wywoływany zawsze, gdy nie zostanie odnaleziony inny element szablonu, tak jak to pokazuje schemat działania skryptu zaczerpnięty z oryginalnej dokumentacji:

Jak już wspomniałam w artykule o tym jak rozpocząć tworzenie własnej skórki, plik ten rozpoczyna linia dołączająca do dokumentu nagłówek zdefiniowany w pliku header.php

<?php get_header(); ?>

a kończy linia dołączająca stopkę zdefiniowaną w pliku footer.php

<?php get_footer(); ?>

W zasadzie, definicje nagłówka i stopki mogłyby znajdować się w tym pliku. Są wydzielone do osobnych plików, tylko po to, żeby zachować przejrzystość kodu.

Pętla

Poza dwiema wspomnianymi komendami w pliku index.php znajduje się tak zwana pętla, która jest charakterystyczną dla skórek WordPressa strukturą, o następującej konstrukcji:

<?php if (have_posts()) : ?>
  <?php while (have_posts()) : the_post(); ?>
    // To co chcesz wyświetlić w pętli
  <?php endwhile; ?>
  // To co chcesz wyświetlić po skończeniu pętli
<?php else : ?>
 // To co ma się pojawiać jeśli nie ma nic do przetworzenia w pętli
<?php endif; ?>

Jest to główna i najważniejsza struktura szablonu za pomocą której wyświetlane są wszystkie wpisy, a także strony statyczne. Wykorzystane są tu dwie funkcje operujące na globalnej zmiennej ‚$wp_query’. Funkcja have_posts() (manual – codex) sprawdza, czy w bazie istnieją posty spełniające zadane warunki (różne w zależności, czy wczytujemy ostatnie posty, czy posty z danej kategorii albo wybranego miesiąca). Następnie funkcja the_posts() wczytuje dane dla kolejnego posta. Następnie w zależności od potrzeb można użyć całej serii funkcji, które pozwalają wyświetlić wybrane elementy posta. W poniższej tabeli zestawiono kilka przykładowych funkcji:

the_author() – wyświetla nazwę autora wpisu
the_category() – wyświetla kategorie wpisu
the_content() – wyświetla treść wpisu
the_excerpt() – wyświetla podsumowanie wpisu
the_ID() – wyświetla ID wpisu
the_permalink() – wyświetla link do wpisu
edit_post_link() – tworzy link do strony edycji wpisu
the_tags() – wyświetla tagi przypisane do wpisu
the_time() – wyświetla datę wpisu
the_title() – wyświetla tytuł wpisu

Opis tych i innych funkcji przydatnych przy tworzeniu skórki do WordPressa można znaleźć w manualu.

Właściwie do prawidłowego funkcjonowania WordPressa wystarczy ta pętla. Wyświetla ona zarówno wpisy bloga jak i strony statyczne. Dopiero gdy pojedynczym wpisom czy stronom statycznym definiujemy ich strukturę w osobnych plikach o ściśle określonych nazwach (patrz schemat na początku artykułu), będą one wyświetlane przez ich indywidualne skrypty.

5 komentarzy na "WordPress: wygląd (odc.5) – główny plik skórki"

1 | sokzzuka

24. stycznia 2011 o 5:08 pm

Avatar

Szkoda, że nie opublikowałeś tego wpisu tak ze dwa miesiące wcześniej jak masakrowałem się z template’ami wordpressa ;)

2 | Joanna

24. stycznia 2011 o 7:13 pm

Avatar

Też żałuję, tym bardziej, że wisiał długo i czekał na ukończenie :( Teraz właśnie pracuję nad skórką więc kolejne wpisy na ten temat będą się pojawiać. Mam nadzieję, że regularnie.

3 | JarekS

27. stycznia 2011 o 5:13 pm

Avatar

Zaglądałem tu już dużo wcześniej, cieszę się, że temat odżył zanim zacząłem walczyć ze swoim motywem. Masz chyba najlepszą polską łopatę :)
Przy okazji – nie rozumiem ostatniego zdania. Czegoś brakuje czy jest o słowo „jeśli” za dużo?

4 | Joanna

27. stycznia 2011 o 10:27 pm

Avatar

Rzeczywiście, zeżarło kawałek zdania. Już poprawiłam. Dzięki za uwagę. Zapraszam do czytania kolejnych artykułów. Już się pojawił wpis nt. panela bocznego.

5 | Kriss

2. kwietnia 2011 o 2:03 am

Avatar

Witaj,
korzystam w WP z seo wtyczki Greg’s High Performance. Dzięki unikalanej funkcji umożliwia np. na stronie kategorii na której są wylistowane zajawki konkretnych postów z danej kategorii w zamian za the_excerpt() wstawić swój kod odpowiedzialny za wstawienie uprzednio przygotowanej przez siebie zajawki posta (opis). Rzecz w tym, że koniecznie trzeba to zrobić poza pętlą. Gdy wstawiam poza nią nie osiągam zamierzenia bowiem description nie wyświetla się w boksie/divie owej zajawki posta. Jak w nim wstawię – jestem w pętli. Wiesz może jak z niej wyjść, a mimo to wstawić zajawkę w diva?

Wstawiam dla pomocy zawartość pliku template_1.php do którego odwołuje się archive.php. Plugin w znaczniku wykonuje podmianę title na drugi oraz pod tym znacznikiem podmianę opisu posta the_excerpt() zastępując go swoim, przytoczonym powyżej. Zajmie sporo miejsca:

ID, ‚full_image_value’, true);
//CHECK IMAGE POST
if ($image2) { ?><a href="”><img src="/timthumb.php?src=&h=100&w=100&zc=1&q=90″ width=”100″ height=”100″ alt=”” /><?php }
//CHECK AUTOMATIC THUMB
elseif (catch_that_image()””) { ?><a href="”><img src="/timthumb.php?src=&h=100&w=100&zc=1&q=90″ width=”100″ height=”100″ alt=”” /><a href="”><img src="/images/blog-thumb-100×100.jpg” width=”100″ height=”100″ alt=”no image”/>

<?php the_tags(' ‚, ‚, ‚, ”); ?>

Niestety, żadnych treści w tej kategorii.


Jeśli jesteś w stanie mi pomóc bardzo bym prosił.

Pozdrawiam

Formularz komentarza

Sierpień 2018
P W Ś C P S N
« Cze    
 12345
6789101112
13141516171819
20212223242526
2728293031  

Archiwa

About

Moje notatki z pracy

Subskrypcja

Wprowadź swój adres email aby zaprenumerować ten blog i otrzymywać powiadomienia o nowych wpisach przez email.

Dołącz do 40 pozostałych subskrybentów

Tematy

%d bloggers like this: