Czym są haki WordPress? W jaki sposób akcje i filtry pomagają rozszerzyć funkcjonalność?

Opublikowany: 2018-06-13
WordPress Hooks | LearnWoo

Ostatnia aktualizacja - 9 października 2020 r.

Jeśli kiedykolwiek pracowałeś nad WordPressem, musiałeś wielokrotnie natknąć się na słowo ' Hook '. Jeśli jesteś programistą WordPress, który chce tworzyć wtyczki i motywy, to haki WordPress są kluczowe dla twojego rozwoju.

Ale czym właściwie są haki?

Zgodnie z kodeksem WordPress.org, „ Haki są dostarczane przez WordPress, aby umożliwić Twojej wtyczce „zaczepienie się” w pozostałej części WordPressa; to znaczy wywoływać funkcje we wtyczce o określonych porach, a tym samym wprawiać wtyczkę w ruch.”

Ogólnie rzecz biorąc, haki łączą jedną rzecz z drugą. W terminologii WordPress łączy (łączy) kod zdefiniowany przez użytkownika z istniejącym kodem rdzenia WordPress.

Po prostu wyjaśnijmy to.

WordPress jest zbudowany z pewną domyślną funkcjonalnością. Ma domyślne zachowanie i powiązane z nim wartości. Za pomocą haków możesz zmodyfikować te domyślne zachowanie i zastąpić istniejącą wartość, dostosowując w ten sposób środowisko WordPress do swoich potrzeb.

Rodzaje haków

Istnieją dwa rodzaje hooków:

  1. Hooki akcji — używane do wykonania w pewnym momencie wykonania, zmieniając domyślny przepływ wykonania. Oto lista haczyków akcji WordPress.
  2. Zaczepy filtrów — nieco różniące się od haków akcji. Zaczepy filtrów służą do modyfikowania domyślnych danych WordPress i zastępowania ich wartością niestandardową, zanim zostaną wyświetlone użytkownikowi w interfejsie użytkownika lub zapisane w bazie danych. Listę haczyków filtrów można znaleźć w Kodeksie WordPressa.

Zasadniczo haki są same w sobie predefiniowanymi funkcjami. Stąd dwa rodzaje funkcji związanych z haczykami to:

  1. Funkcje akcji — te funkcje są przydatne w przypadku publikowania bloga, ładowania strony i tak dalej.
    Oto niektóre z funkcji akcji:

    • add_action()
    • zrobił_działanie()
    • robi_działanie()
    • zrób_działanie()
    • do_action_ref_array()
    • has_action()
    • usuń_działanie()
    • usuń_wszystkie_działania()
  2. Funkcje filtrowania – Każda funkcja filtrowania zwraca pewną wartość i zastępuje ją domyślnymi danymi WordPress.
    Funkcje filtrowania obejmują:

    • dodaj_filtr()
    • zastosuj_filtry()
    • Apply_filters_ref_array()
    • bieżący_filtr()
    • robi_filtr()
    • has_filter()
    • usuń_wszystkie_filtry()
    • usuń_filtr()

Infografika

Obserwuj poniższą infografikę, aby lepiej zrozumieć, jak działają haki.

WordPress Hooks | Info-graphic on how WordPress Hooks work
Grafika informacyjna o tym, jak działają WordPress Hooki

Jak pokazano na powyższej infografice, funkcje Action i Filter wykorzystują odpowiednie hooki do modyfikacji podstawowego kodu WordPressa.

Jak wygląda hak?

Typowy hak Action przybiera następującą postać:

 add_action ( 'hak', 'twoja_niestandardowa_nazwa_funkcji', [priorytet], [akceptowane_parametry] );
funkcja twoja_niestandardowa_nazwa_funkcji()
{
   //Twój niestandardowy kod
}

Gdzie hook jest nazwą podpięcia, twoja_niestandardowa_funkcja_nazwa to nazwa funkcji z twoim niestandardowym kodem, opcjonalnym parametrem priorytetu , który wskazuje, jak ma zostać wykonane podpięcie, akceptowanymi parametrami wskazującymi dodatkowe parametry i niestandardowym kodem. The wywołanie funkcji ( add_action()) może znajdować się poniżej lub powyżej fragmentu kodu.

Hak filtra ma następującą postać:

 add_filter( 'filtr', 'nazwa_twojej_niestandardowej_funkcji', 'priorytet', 'zaakceptowane_argumenty' );
funkcja twoja_niestandardowa_nazwa_funkcji($zmienna)
{
   //Twój niestandardowy kod
   zwrócić;
}

Gdzie add_filter() to jeden funkcji Filter hook, filter to nazwa filtra, którego zamierzasz użyć, twoja_niestandardowa_nazwa_funkcji to nazwa funkcji zdefiniowanej przez użytkownika, parametr priorytet wskazuje kolejność wykonania podpięcia, accept_args wskazuje argumenty do przekazania, a niestandardowy kod z obowiązkową wartością zwracaną.

Podobnie jak WordPress, dostępne są również haki dla WooCommerce. Te haki są szeroko wykorzystywane do tworzenia wtyczek, motywów i dostosowywania procesu WooCommerce Checkout.
Przeczytaj Hooki WooCommerce: Akcje i filtry w dokumentacji WooCommerce, aby szczegółowo zrozumieć hooki WooCommerce.

Demonstracja

Rozumiemy hooki przy użyciu przykładowych fragmentów kodu.

Akcja Hak i funkcja

 //Dodanie haka akcji
funkcja my_action_hook() {
echo "<p align='center'>To jest przykład przechwytu akcji</p>";
}
add_action( 'get_header', 'my_action_hook' );

W powyższym fragmencie kodu „my_action_hook” to nazwa funkcji niestandardowej, „add_action” to jedna z funkcji Action, a „get_header” służy do dostosowania nagłówka szablonu. W podanym fragmencie kodu wyświetlamy tekst „This is an Action Hook Demo” w sekcji nagłówka witryny.

Przykładowy zrzut ekranu przedstawiający zastosowane zmiany we fragmencie kodu pokazano poniżej.

WordPress Hooks | Action hook example
Przykład haka akcji

Hak i funkcja filtra

 //Dodanie haka filtra
add_filter('woocommerce_get_price_html','my_filter_hook');
funkcja my_filter_hook ($cena){
return 'Za jedyne '.$cena;
}

W powyższym fragmencie kodu „woocommerce_get_price_html” to haczyk WooCommerce do uzyskania ceny produktu, „my_filter_hook” to nazwa filtra zdefiniowanego przez użytkownika, a „$price” to zmienna zdefiniowana przez użytkownika. Fragment kodu po prostu dodaje przedrostek „Za jedyne” do ceny produktu.

Poniższy zrzut ekranu pokazuje, jak fragment kodu wpływa na nasz sklep WooCommerce.

WordPress Hooks | Filter hook example
Przykład haka filtra

To tylko prosty przykład, jest wiele rzeczy, które możesz osiągnąć dzięki hookom.

W jaki sposób akcje i filtry pomagają rozszerzyć funkcjonalność?

  1. Główną zaletą korzystania z hooków jest to, że pomaga w dostosowaniu podstawowego kodu WordPressa.
  2. Wszelkie zmiany w rozwoju można uważnie monitorować, ponieważ modyfikacja jest minimalna, a nie wielokrotnie w kodzie.
  3. Tworzenie nowych wtyczek jest znacznie łatwiejsze dzięki metodzie „wypróbuj i przetestuj”.
  4. Do tworzenia motywów można tworzyć motywy potomne i bawić się haczykami bez wpływu na motyw nadrzędny.
  5. Jest to prosta, łatwa w użyciu oferta WordPress, która ma zrozumiałą strukturę i szczegółową dokumentację dla każdego odniesienia.
  6. Obsługuje WooCommerce, najpopularniejszą wtyczkę eCommerce WordPress. Wtyczki cenowe WooCommerce w znacznym stopniu zmieniają ceny produktów, kalkulacje cen oraz oferują dynamiczne ceny i rabaty za pomocą haków WooCommerce. Szczegóły zamówienia, informacje o produkcie, szczegóły wysyłki między rzeczami można stukać za pomocą niestandardowych haczyków.

Uwagi końcowe

WordPress Hooki to kluczowy mechanizm tworzenia wtyczek i motywów. Są szeroko stosowane do modyfikowania istniejącego kodu WordPress w celu dostosowania strony internetowej. Chociaż haki mają wiele zalet, należy upewnić się, że każdy niestandardowy haczyk jest unikalny i nie nakłada się na inny haczyk o tej samej nazwie. Nawet w takim przypadku możesz przypisać priorytet do wykonania haczyków zgodnie ze swoimi potrzebami.

Zapoznaj się z naszymi artykułami na temat dostosowywania WooCommerce, aby uzyskać wskazówki dotyczące dostosowywania sklepu WooCommerce.

Lub kontynuuj odkrywanie LearnWoo, aby znaleźć więcej niesamowitych artykułów.