Haki WordPress – sposoby wywoływania

Haki WordPress

Haki WordPress - nieszczęsna nazwa Haki WordPress – dostaję drgawek, gdy słyszę tę nazwę, ale co poradzić… Taka się już utarła wśród polskich programistów WordPress. Osobiście wolę nazwę uchwyt WordPress choć zdaję sobie sprawę z tego, że uchwyt to coś nieco innego. Nic na to nie poradzę. Będę się trzymał tych nieszczęsnych haków. Zaczepów. „To hook something” oznacza między innymi „podpiąć coś” i to już brzmi lepiej. Ale mniejsza o to.

Haki… ech, haki pozwalają na użycie filtrów i akcji. Ta strona nauczy Cię różnych metod podpinania tych rzeczy do swojego kodu.

Przykłady haków

Poniżej zaprezentuję Wam działający kod, podpinający filtr the_title na różne sposoby. Przykład kodu modyfikującego tytuł znajdziesz na stronie o filtrach. Tam zastosowano jedną metodę, tutaj poznasz kolejne. A pierwsza, na początek, dla przypomnienia.

Haki – kod funkcyjny

W programowaniu nieobiektowym, sprawa wygląda bardzo łatwo:

Funkcje anonimowe

Wydaje się super, prawda? Funkcje anonimowe zostały dodane w PHP 5.3 i wówczas wydawało się, że są… że wreszcie są, po prostu. Ale akurat do filtrów (i akcji) w WordPress się nie nadają. Zapytacie, dlaczego? Przecież ten kod działa! Ano działa, musi działać. Tylko jest jedno ale. Tego filtra nie da się już usunąć (w sensie – w przebiegu kodu). Aby usunąć filtr, zapoznaj się z funkcją remove_filter, tam też dowiesz się, czemu tak dodany filtr jest nieusuwalny. A tego się innym programistom po prostu nie robi.

Haki – kod obiektowy

Zainicjowana klasa

Klasa inicjowana w momencie wywołania

Ustawianie haków w klasie

Metoda statyczna

Proszę zwrócić uwagę na to, że metoda modyfikująca jest zawsze publiczna – inaczej WordPress nie mógłby jej wywołać.

A co z akcjami?

A co ma być? Dokładnie to samo! Tylko zamiast add_filter używamy add_action.