Przewodnik po korzystaniu z hooków w funkcjach niestandardowych

Opublikowany: 2013-03-29

Możesz pomyśleć, że haki są skomplikowane, co jest zrozumiałe, ponieważ tak myślałem, kiedy pierwszy raz na nie spojrzałem!

Prawda jest taka, że ​​haki są bardzo łatwe do zrozumienia.

To niestandardowa funkcja, z którą ich używasz, jest nieco bardziej skomplikowana.

W tym przewodniku po hakach dla początkujących przyjrzymy się podstawom tego, czym są i co robią, a także jak ich używać do wyświetlania treści w różnych lokalizacjach w motywie.

Czym są haki?

Hooki to po prostu punkt lub lokalizacja w plikach szablonów motywów.

Nadawane są im opisowe nazwy w zależności od tego, w jakim temacie są używane, np.:

  • woo_post_after – specyficzny hak motywów Woo, który jest wykonywany po wszystkich pojedynczych postach
  • genesis_after_header – specyficzny hak motywu Genesis, który uruchamia się po pojedynczych postach
  • wp_footer – hak WordPress, który wykonuje się po stopce we wszystkich motywach.

Najłatwiejszym sposobem na zrozumienie, gdzie w Genesis znajdują się różne haczyki, jest obejrzenie wizualnego przewodnika po haczykach, który zawiera wszystkie lokalizacje haczyków.

genesis_after_header to hook używany w motywach potomnych Genesis (StudioPress), który jest wykonywany po nagłówku na wszystkich stronach.

Zamiast dodawać swoją zawartość do pliku header.php motywów nadrzędnych, który jest używany do wyświetlania nagłówka, możesz po prostu dodać zawartość w funkcji niestandardowej w plikach motywów potomnych.

woo_before_header to hook, który działa w motywach Woo i znajduje się w motywach nadrzędnych header.php

Zamiast edytować pliki szablonów motywów nadrzędnych, możesz po prostu użyć haka, aby wyświetlić zawartość w tej lokalizacji, dodając kod do motywów potomnych functions.php

Haki WordPress

wp_footer to haczyk WordPress, który działa w dowolnym motywie, w przeciwieństwie do haczyków specyficznych dla motywu, takich jak genesis_after_post i woo_header.

Zamiast edytować plik footer.php w podstawowych plikach WordPress, możesz po prostu użyć haka wp_footer w funkcji niestandardowej, aby podłączyć (wyświetlić) zawartość w lokalizacji, w której istnieje hak wp_footer w pliku szablonu footer.php.

Wizualne mapy haków

Każdy twórca motywu zwykle udostępnia mapę dokładnego miejsca wykonania każdego zaczepu wraz z listą zaczepów i opisem miejsca ich wykonania w motywie.

  • Wizualna mapa haków Woo Themes
  • Wizualny przewodnik po hakach Genesis
  • Odniesienie do wizualnego haka pracy

Pliki szablonów motywu nadrzędnego i pliki szablonów WordPress zawierają haczyki, które różni twórcy motywów dodali w różnych lokalizacjach każdego pliku szablonu.

Następnie udostępniają listę tych haków, które można dodać do niestandardowej funkcji wyświetlania treści w określonej lokalizacji haka w motywie.

Hooki w plikach szablonów

Tradycyjnie, jeśli chcesz wyświetlać treść w określonej lokalizacji w swojej witrynie, musisz dodać treść za pomocą HTML, Text lub PHP bezpośrednio do plików szablonów motywów nadrzędnych. (A niektórzy nadal to robią!)

Dzięki hookom nie musisz dodawać treści do żadnego z plików szablonów.

Powodem tego jest to, że każdy plik szablonu zawiera kilka punktów zaczepienia, do których można po prostu odnieść się w pliku funkcji motywów potomnych, a nie włamywać się do plików motywów nadrzędnych.

Ta funkcja wyświetla zawartość, podpinając się do lokalizacji, w której znajduje się podpięcie, w podstawowych plikach szablonów.

Haki w plikach Genesis

Uwaga: Nigdy nie powinieneś edytować podstawowych plików Genesis i nigdy nie powinieneś tego robić.

Przyjrzyjmy się, gdzie w plikach szablonów motywów nadrzędnych znajdują się haki akcji.

Poniżej znajduje się obraz pliku szablonu Genesis header.php znajdującego się w głównych plikach tematów nadrzędnych.

Zawiera haki nagłówka, które można również zobaczyć na wizualnym obrazie haczyka ułożonym po prawej stronie haczyków.
Haki szablonu nagłówka

Zauważysz również, że jest tam kilka innych zaczepów genetycznych, a także zaczep WordPress, który jest potrzebny do zaczepienia niektórych wtyczek.

Możesz użyć zaczepu WordPress w funkcji, jeśli chcesz, a funkcja będzie działać na wszystkich motywach, ponieważ wszystkie zawierają zaczepy WordPress.

Funkcje z hakami akcji #

Przyjrzyjmy się bardzo podstawowej funkcji niestandardowej, która wyświetla tekst w dowolnym miejscu zaczepienia w motywach potomnych Genesis.

Hak, którego używamy do wyświetlania tekstu przed treścią, nazywa się hakiem genesis_after_header .

Dołączamy go do podstawowej funkcji, którą stworzyliśmy, opisując, co robi funkcja, która w tym przypadku nazywa się content_after_header

Dodajemy również unikalną klasę div, dzięki czemu możemy w razie potrzeby stylizować tekst w lokalizacji haka. W tym przypadku nazwaliśmy go po nagłówku .

A w pliku motywów potomnych style.css możemy użyć tej nowej klasy do stylizacji treści w tym miejscu zaczepienia w następujący sposób:

 .after-header { background: grey; border: solid 3px #222; padding: 10px; }

Genesis Simple Hooks Plugin

Oto inny sposób patrzenia na hooki nagłówka poprzez pola hooków znajdujące się we wtyczce Genesis Simple Hooks.

Haki nagłówka Genesis

Bardzo dobrą odskocznią do nauki korzystania z hooków w Genesis jest rozpoczęcie korzystania z wtyczki Genesis Simple Hooks.

Ta wtyczka umożliwia łatwe wklejanie kodu HTML, tekstu, skrótów lub kodu PHP, który zostanie wykonany w określonej lokalizacji haka.

Jest to doskonały sposób, aby dowiedzieć się więcej o tym, gdzie znajduje się każdy hak w Genesis i jak wyświetlać różne rodzaje treści w tych lokalizacjach.

Możesz także wykonać kod PHP w dowolnej lokalizacji zaczepienia za pomocą prostych zaczepów, pod warunkiem, że zapakujesz kod PHP w znaczniki PHP:

Powyższy kod, po wklejeniu do pola genesis_hook za pomocą wtyczki Simple Hooks, wyświetli suwak obrazu tylko na stronie głównej.

Używanie hooków z niestandardowymi funkcjami i tagami warunkowymi

Po zapoznaniu się ze wszystkimi nazwami haków i lokalizacjami, które wykonują, możesz przejść do używania haków w funkcjach niestandardowych i połączyć je z tagami warunkowymi, aby wykonać zawartość w lokalizacji haka w oparciu o określone warunki, takie jak tylko strona główna lub tylko pojedyncze posty.

Ten kod wyświetli Twój tekst przed tytułami wszystkich postów tylko w pojedynczych postach.

Nie wyświetli tekstu na stronach archiwum, takich jak blog, archiwa domowe lub archiwalne, ani nie wyświetli tekstu na stronach statycznych.

Więcej niestandardowych funkcji z haczykami

  • Haki akcji do tworzenia motywów nadrzędnych
  • Poradnik dotyczący haków i filtrów dla początkujących