WordPress shortcode – pozycja w treÅ›ci wpisu lub strony
Sobota, 14.02.2009
O funkcjonalności shortcode (termin, oznaczający krótki kod, będący etykietą funkcji zdefiniowanej we wtyczce lub pliku functions.php) w WordPress napisano już wiele artykułów i poradników. Nie znalazłem w nich jednak informacji dotyczącej umiejscowienia treści, jaką każdy shortcode generuje. W oficjalnej dokumentacji nie doszukałem się ich również, więc przyjrzałem się konstrukcji kilku wtyczek. Oto rezultat.
Najprostszym przykÅ‚adem jest (jak zawsze) wygenerowanie jakiegoÅ› tekstu. Tak wiÄ™c po umieszczeniu we wpisie krótkiego kodu [cp] w podglÄ…dzie wpisu powinien zostać wyÅ›wietlony tekst “Code is poetry”. Wystarczy, że poniższy kod zapiszemy jako plik o nazwie wtyczka.php:
function code() {
return 'Code is poetry';
}
add_shortcode('cp', 'code');
JeÅ›li teraz stworzymy wpis o treÅ›ci: “Motto WordPress brzmi: [cp]” i wyÅ›wietlimy podglÄ…d wpisu, bÄ™dzie on wyglÄ…daÅ‚ nastÄ™pujÄ…co:
Motto WordPress brzmi: Code is poetry
Zmodyfikujmy teraz kod funkcji code() do następującego:
function code() {
echo 'Code is poetry';
}
add_shortcode('cp', 'code');
Po tej modyfikacji treść wpisu będzie wyglądała następująco:
Code is poetryMotto WordPress brzmi:
Konkluzja jest więc następująca. Jeśli do wyświetlenia zawartości generowanej przez funkcję użyjemy polecenia echo, wygenerowana zawartość pojawi się zawsze na początku wpisu, przed jego treścią niezależnie od tego, w którym miejscu wpisu umieścimy krótki kod. Aby jednak wygenerowana treść pojawiła się w miejscu, które świadomie określimy poprzez wpisanie krótkiego kodu, koniecznie trzeba użyć polecenia return w funkcji generującej treść dla danego krótkiego kodu. Z punktu widzenia przejrzystości kodu, jak również dostępności wskazane jest używanie polecenia return, ponieważ dzięki temu można lepiej wykorzystać funkcje opisane za pomocą krótkich kodów.
W domyślnej instalacji WordPress (obecnie w wersji 2.7.1) jest zaimplementowany krótki kod [gallery]. Pomimo wielu użytecznych opcji, treść generowana jest przy użyciu poleceń echo, co uniemożliwia wstawienie zestawu zdjęć powiązanych z wpisem, np. po krótkim wstępie. Teraz jednak, dzięki powyższej wskazówce, nic nie stoi na przeszkodzie, aby każdy w szybki sposób mógł to naprawić.
Więcej przykładów i informacji dotyczących krótkich kodów:
Oficjalne API WordPress
Smashing Magazine
WPEngineer

UdostÄ™pniam dziÅ› do pobrania tÅ‚umaczenie jednej z lepszych wtyczek zarzÄ…dzajÄ…cych obrazami do WordPress – NextGEN Gallery.