Czy kiedykolwiek słyszałeś o WordPressie? Funkcje wtykowe? Jeśli nie, to ten artykuł powinien zwrócić Twoją uwagę. W dwóch słowach są to funkcje wtykowe WordPress podstawowe funkcje, które można zastąpić. Wszystkie te funkcje znajdują się w jednym pliku: „wp-zawiera / pluggable.php„. Funkcje wtykowe zostały wprowadzone w WordPress 1.5.1, ale w najnowszych wersjach WordPress ta metoda nie jest już używana. Najnowsze funkcje używają teraz filtrów na wyjściu. Ale nadal możesz zastąpić funkcje wtykowe i to właśnie chciałbym omówić w tym poście.


Które funkcje?

Funkcje wtykowe to:

Możesz kliknąć nazwę każdej funkcji, aby uzyskać dostęp do strony kodeksu.

Jak zastąpić funkcje wtykowe

Cóż, jest to dość proste, wystarczy utworzyć plik we wtyczkach zawierający instrukcję „if (! Function_exists ())…”, a następnie ponownie zdefiniować funkcję. Zdecydowanie zalecamy skopiowanie i wklejenie oryginalnej funkcji podczas uruchamiania. W ten sposób masz pewność, że funkcja będzie działać. Oto pusty przykład:

if (! function_exists ('wp_notify_postauthor')):
/ **
* Powiadom autora komentarza / trackbacka / pingbacka do jednego z ich postów.
*
* @ od wersji 1.0.0
*
* @param int $ comment_id Identyfikator komentarza
* @param string $ comment_type Opcjonalne. Typ komentarza to „komentarz” (domyślnie), „trackback” lub „pingback”
* @return bool Fałsz, jeśli e-mail użytkownika nie istnieje. Prawda po zakończeniu.
* /
funkcja wp_notify_postauthor ($ comment_id, $ comment_type = '') {

/ * W tym miejscu redefiniujesz funkcję * /

}
endif;

Chciałbym porozmawiać o funkcji „wp_notify_postauthor ()”. Jest to osoba odpowiedzialna za wysyłanie wiadomości e-mail do autorów postów po dodaniu nowego komentarza. W jednej z moich wtyczek, WordPress Issues Manager, musiałem wyłączyć to powiadomienie, ale tylko określony niestandardowy typ postu. Skopiowałem więc całą funkcję i po prostu dodałem to:

if (! function_exists ('wp_notify_postauthor')):
/ **
* Powiadom autora komentarza / trackbacka / pingbacka do jednego z ich postów.
*
* @ od wersji 1.0.0
*
* @param int $ comment_id Identyfikator komentarza
* @param string $ comment_type Opcjonalne. Typ komentarza to „komentarz” (domyślnie), „trackback” lub „pingback”
* @return bool Fałsz, jeśli e-mail użytkownika nie istnieje. Prawda po zakończeniu.
* /
funkcja wp_notify_postauthor ($ comment_id, $ comment_type = '') {

if ($ post-> post_type! = 'issue'):

/ * treść oryginalnej funkcji * /

endif;

}
endif;

To proste, ale działa świetnie bez konieczności wprowadzania wielkich zmian lub tworzenia pełnej funkcji niestandardowej dołączonej do akcji niestandardowej.

wp_mail ()

Jak widać na liście funkcji wtykowych, wp_mail () jest funkcją wtykową. Ta funkcja służy do wysyłania wiadomości e-mail. W dowolnym miejscu w WordPress, gdy wiadomość e-mail jest wysyłana, używa tej funkcji. Dlatego dostosowanie może być bardzo interesujące. Na przykład możesz użyć domyślnego szablonu HTML dla wszystkich wiadomości e-mail wysyłanych z instalacji WordPress.

Możesz również wysłać ukrytą kopię każdej wiadomości na określony adres e-mail, aby uzyskać rodzaj kopii zapasowej (zaufaj mi, może to być przydatne, gdy ktoś powie ci, że nie otrzymał wiadomości!).

wp_authenticate ()

Możesz także zmodyfikować wp_authenticate () i dodać dodatkowe parametry w celu wymuszenia bezpieczeństwa w swojej witrynie (na przykład ataki typu brute force).

auth_redirect ()

Ta funkcja sprawdza, czy użytkownik jest zalogowany, a jeśli nie, przekierowuje go na stronę logowania. Łatwo byłoby zastąpić funkcję i przekierować użytkownika na niestandardową stronę zamiast domyślnej strony logowania (na przykład, jeśli chcesz ukryć folder wp-admin).

wp_generate_password ()

Ta funkcja automatycznie generuje hasła. Szczerze mówiąc, naprawdę nie musisz go modyfikować, ale teraz, gdy wiesz, co to są ataki brutalne, możesz być zainteresowany tworzeniem silniejszych haseł. Cóż, jest to funkcja do poprawy.

Wniosek

Na zakończenie tego krótkiego postu na temat funkcji wtykowych WordPress chciałbym zwrócić uwagę na fakt, że nowe funkcje już tak nie działają. Jak napisałem powyżej, teraz używają filtrów. Ale funkcje wtykowe są ważnymi funkcjami, szczególnie podczas tworzenia naprawdę specyficznych wtyczek. Należy jednak zachować ostrożność podczas korzystania z funkcji wtykowych. Jeśli nowo utworzona funkcja nie działa idealnie, może uszkodzić część witryny (pod względem funkcjonalności), więc przetestuj ją w każdych warunkach.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me