Wszystko, co musisz wiedzieć o hakach WordPress

Opublikowany: 2015-07-11

Jesteś uzależniony od haków WordPress?

Wiele się dzieje pod maską, ponieważ WordPress pracuje nad renderowaniem potrzebnego komponentu dla Twojej witryny. Każda strona składa się z wielu funkcji i zapytań do bazy danych. Rdzeń WordPressa i motyw współpracują ze sobą, generując tekst, obrazy, arkusze stylów i inne pliki. Za pomocą przeglądarki wszystkie te elementy są interpretowane i łączone w jedną stronę internetową. Hooki dają możliwość dostosowywania, rozszerzania i ulepszania WordPressa.

Hooki są odpowiednio nazywane, ponieważ możemy dosłownie „podpiąć się” do WordPressa, aby pobrać, wstawić lub zmodyfikować dane lub wykonać inne zadania za kulisami. W pewnym sensie „zawieszamy” nasz niestandardowy kod na tych hakach. Jak wiemy, modyfikowanie rdzenia WordPressa nie jest dobrym pomysłem. Z tego powodu haki akcji i haki filtrów w WordPressie są najlepszym sposobem na zmianę istniejących lub tworzenie nowych funkcji.

Rodzaje haczyków

Hooki są niezbędną częścią przy dostosowywaniu. Istnieją dwa podstawowe typy haczyków: haczyki akcji i haki z filtrem. Każdy oferuje coś innego, dlatego ważne jest, aby zrozumieć, kiedy użyć którego.

Haczyka nie można po prostu wrzucić w dowolne miejsce; musi być coś, w co można się „zaczepić”. Posiadanie tego punktu wykonania dla tego haka jest konieczne. Dobrą wiadomością jest to, że w całym rdzeniu WordPressa znajdują się wbudowane haki, do których można się odwołać.

Cztery liny awaryjne

Dlaczego warto korzystać z haczyków

Wiele można zmienić za pomocą hooków, ponieważ wiele podstawowych funkcji WordPressa wykorzystuje akcje i filtry. Zrozumienie hooków jest absolutnie niezbędne dla każdego, kto rozwija się za pomocą WordPressa oraz dla projektantów, którzy chcą zmodyfikować WordPress lub zachowanie motywu.

Haki akcji

Haki akcji wskazują, że coś się wydarzyło, nie należy ich mylić z samymi wydarzeniami. Akcje są wyzwalane przez określone zdarzenia, które mają miejsce w WordPress. Przykładem wydarzenia może być opublikowanie posta, zmiana motywów lub aktywacja wtyczki. Akcje pozwalają na dodanie dodatkowej funkcjonalności w określonym momencie przetwarzania strony. Haki akcji mogą robić takie rzeczy jak:

  • Modyfikuj dane w bazie danych WordPress
  • Zmodyfikuj to, co jest wyświetlane w przeglądarce
  • Wyślij e-mail, gdy wydarzy się wydarzenie
  • Dodaj widżet, menu lub niestandardową wiadomość do strony

wordpress-haczyki-akcja

Przykład haka akcji

add_action( $hook, $function_to_add, $priority, $accepted_args );

Wymagane parametry funkcji add_action to zaczep i funkcja do dodania. Uwzględnienie priorytetu jest opcjonalne. Z wartością całkowitą opartą na skali od 1 do 999, ta liczba określa kolejność priorytetów funkcji dla tego konkretnego zaczepu. Możesz go nie potrzebować, ale ostatni parametr jest używany, gdy musisz przekazać lub zaakceptować wiele argumentów.

Przyjrzyjmy się prostemu hakowi akcji:

// This is the function, name it accordingly

function custom_welcome_text() { ?>

<div class="optional-custom-class">Hello WordPress!</div>

<?php }

&nbsp;

// Action function that outputs the function above into the theme hook

add_action( 'welcome_hook', 'custom_welcome_text', 5 );

Ten podstawowy haczyk doda „Hello WordPress” na górze strony. Ma priorytet 5. Niższe liczby odpowiadają wcześniejszemu wykonaniu. Domyślnie jest ustawiony na 10, więc ten przykład jest wykonywany przed wartością domyślną.

Filtruj haki

Omówmy typowy scenariusz i sposób, w jaki wchodzą w grę hooki filtrów. Pomyśl, ile razy użytkownicy odwiedzają Twoją witrynę i ładują się posty, które mogą przeczytać. W ramach cyklu życia strony WordPress, WordPress wysyła zapytanie do bazy danych o ten post, a następnie jest on zwracany do przeglądarki, gotowy do odczytania przez użytkownika. Wszystko to brzmi prosto, ale zanim treść zostanie udostępniona, WordPress przepuszcza dane przez wszelkie ustanowione filtry. Te haczyki filtrujące można łatwo utworzyć w razie potrzeby.

Pomyśl o tym w ten sposób: akcje są wyzwalane przez określone zdarzenia, ale filtry pozwalają na przechwytywanie i modyfikację danych w trakcie ich przetwarzania. Hooki filtrów są używane, gdy trzeba przechwycić, zarządzać lub zwrócić dane przed renderowaniem ich do przeglądarki lub zapisaniem danych z przeglądarki w bazie danych. Na przykład możesz chcieć wstawić inną klasę CSS w elemencie HTML WordPress lub zarejestrować dodatkowe typy pól meta. Oba te można wykonać za pomocą haka filtra.

Wordpress-haki-filtr

Filtry znajdują się między bazą danych a przeglądarką, gdy WordPress generuje strony. Ponadto znajdują się między przeglądarką a bazą danych, ponieważ WordPress dodaje nowe posty i komentarze do bazy danych. Z tego powodu haki filtrów mogą wykonywać przydatne rzeczy, takie jak:

  • Dodaj dane do bazy danych lub wyślij na ekran przeglądarki
  • Manipuluj danymi wychodzącymi z bazy danych, zanim trafią do przeglądarki lub przychodzącymi z przeglądarki przed wejściem do bazy danych.

Przykład haka filtra

W poniższym przykładzie przyjrzymy się, jak hak filtra działa na treści. Ten haczyk jest uruchamiany tuż przed użyciem treści, umieszczeniem ich w bazie danych lub renderowaniem przez WordPress do przeglądania na ekranie. Zmienia to dane po uruchomieniu haka filtra.

Funkcja add_filter jest tym, czego potrzebujemy, aby podłączyć się do filtra. Argumenty mogą wyglądać znajomo, add_filter jest taki sam jak add_action . Przejdźmy teraz do filtra WordPressa the_content, który jest wywoływany przed wyświetleniem treści posta. W tym prostym przykładzie filtr pozwoli nam dodać notatkę o prawach autorskich do każdego posta. W tym momencie filtry podejmą działania na danych, które są do nich przekazywane.

add_filter( 'the_content', 'add_copyright_notice' );

function add_copyright_notice( $content )

{

return $content . " <br>This content is copyrighted.";

}

Pamiętaj, że kiedy używasz filtra, zawsze musisz coś zwrócić, w przeciwnym razie rzeczy się zepsują.

Dodawanie haczyków do motywu

Dodając haki i filtry do motywu, upewnij się, że pracujesz w motywie potomnym. Głównym powodem jest to, że jeśli pracujesz w motywie nadrzędnym, te modyfikacje mogą zostać nadpisane, jeśli nastąpi aktualizacja plików motywu.

Mam nadzieję, że lepiej rozumiesz haki, co mogą zrobić i jak mogą pomóc. Hooki mogą być bardzo proste, bardzo złożone lub mogą być czymś pośrednim. Kiedy już opanujesz podstawowe koncepcje, wciągniesz się w mgnieniu oka.