24 08 10 Funkcje motywów w Wordpresie
W Wordpresie większość zawartości strony jest wyświetlana dynamicznie. Deweloperzy tego systemu, aby ułatwić życie twórcom motywów, stworzyli wiele funkcji, które mają na celu wyświetlenie fragmentu dynamicznie generowanej zawartości w możliwie prosty sposób.
Funkcje o których mowa to tzw. template tags. WordPress posiada całe mnóstwo tego typu funkcji. Są one podzielone na grupy, niektóre mogą być użyte tylko gdy pewne warunki są spełnione, z inne można wywołać niezależnie od miejsca i czasu.
Funkcje motywów mają jeszcze jedną ważną cechę. Zazwyczaj w którymś miejscu ich kodu wbudowane są haki.
Haki mogą przyjmują w Wordpresie formę akcji lub filtrów i służą do uruchomienia własnego kodu.
Popatrzymy dla przykładu na działanie funkcji the_content, która, gdy wywołana w pętli Wordpresa, wyświetla zawartość wpisu. Funkcja ta znajduje się w pliku wp-includes/post-template.php
/**
* Display the post content.
*
* @since 0.71
*
* @param string $more_link_text Optional. Content for when there is more text.
* @param string $stripteaser Optional. Teaser content before the more text.
*/
function the_content($more_link_text = null, $stripteaser = 0) {
$content = get_the_content($more_link_text, $stripteaser);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
}
Powyższą funkcję możemy uruchomić w motywie jak następuje:
<?php the_content() ?>
Wywołanie funkcji the_content przy okazji uruchomi także funkcje dodane do haka the_content.
Funkcja motywu the_content sama wywołuje get_the_content, która wykonuje większość czarnej roboty związanej z formatowanie zawartości wpisu.
W WordPressie istnieje wiele takich par, gdzie funkcja wyświetlająca gotową zawartość korzysta z wartości zwróconej przez inną, o tej samie nazwie ale poprzedzonej prefixem get_, dodając nieco własnego kodu w tym akcje i filtry.
Podział funkcji motywów
Jak już wspomniałem wyżej, funkcje motywów są podzielone na grupy. Mamy więc do dyspozycji:
- funkcje włączające pliki motywu, do których zalicza się między innymi get_header, get_footer, get_sidebar
- funkcje pobierające dane o blogu, np. bloginfo, bloginfo_rss,
- funkcje wyświetlające formularze logowania i rejestracji etc.
-
funkcje przeznaczone do wyświetlania fragmentów wpisu, jak np. nadminiona już the_content czy
the_excerpt, - funkcje odpowiedzialne za wyświetlanie danych związanych z komentarzami np. comment_date, comment_time
- funkcje związane z wyświetlaniem meiniaturek wpisu np. the_post_thumbnail,
- funkcje odpowiedzialne za wyświetlnaie załączników np. the_attachment_link, wp_get_attachment_metadata,
- funkcje mające za zadanie wyświetlnie danych o kategoriach np. the_category, category_description
- funkcje wyświetlające dane o autorze lub autorach wpisów np. the_author, the_author_meta,
- funkcje wyświetlające dane o dacie i godzinie np. the_date, the_time,
- funkcje odpowiedzialne za poprawne wyświetlenie permalinków np. get_permalink
i kilka innych.
Listę wszystkich aktualnie dostępnych funkcji motywów można znaleźć na stronie kodeksu Wordpresa. Czas zainwestowany w ich poznanie pownien zwrócić się podczas tworzenia motywów.
Autor wpisu jest blogerem, programistą PHP, administratorem Linux oraz twórcą blogów
RSS Subskrybuj wpisy bloga