Od 2004 roku, kiedy ujrzałem lekki świat WordPress 1.2, filtry i akcje były jednymi z fundamentów rozwoju motywów i modułów.
Hooki (ogólne określenie tych dwóch różnych grup funkcji PHP) pozwalają modyfikować lub rozszerzać funkcjonalność WordPress bez konieczności ingerowania w pliki jądra w jakikolwiek sposób. Poniżej pokażemy, że filtr zmienia wartość treści, a akcja może jednocześnie dodać kolejną do wywoływanej funkcji. Dzięki temu mamy bardzo potężne narzędzie do tworzenia unikalnego bloga czy strony internetowej, a jednocześnie nie musimy martwić się problemami z aktualizacją do najnowszej wersji WP.
Filtr uruchamia WordPress , gdy zmienisz tekst lub inne rodzaje treści przed dodaniem ich do bazy danych lub wysłaniem do przeglądarki. Twój moduł może określić, że jedna lub więcej funkcji PHP zmienia określony typ treści w określonym czasie.
Prostym przykładem zrozumienia, na czym polegają haki, jest demonstracja istniejącej funkcji i jej modyfikacji.
function get_excerpt($text, $length = 150) { $excerpt = substr($text,$length); return $excerpt; }
Ta funkcja zawiera dwa parametry: napis oraz długość, do której chcemy go skrócić. Czy chcesz, aby w poście pojawiło się dwieście znaków zamiast domyślnych 150 znaków? Nie ma problemu, zmieniamy parametr podczas korzystania z funkcji. Przede wszystkim stosujemy filtr dla funkcji, która dostosowuje długość raportu.
function get_excerpt($text, $length = 150) { $length = apply_filters('excerpt_length', $length); $excerpt = substr($text,$length); return $excerpt; }
Nazwa tego filtra to excerpt_lenght i nie jest jeszcze do niego dołączona żadna funkcja, więc listing ma 150 znaków. Musimy więc powiedzieć systemowi, że chcemy „zahaczyć” filtr długość_wypisu i zdefiniować nową wartość. Zmienimy to następującym wpisem:
function get_excerpt($text, $length = 150) { $length = apply_filters('excerpt_length'); $excerpt = substr($text,$length); return $excerpt; } function modify_excerpt_length() { return 200; } add_filter('excerpt_length', 'modify_excerpt_length');
Gotowe, regułą dla wszystkich oświadczeń jest to, że będą zawierały 200 znaków. Bez ingerencji w pierwotną funkcję zastosowaliśmy filtr do długości listingu wyciągu, a zmiana zostanie odzwierciedlona w każdym wyświetlonym wyciągu.
Akcja uruchamia WordPress w określonych punktach podczas wykonywania polecenia lub w przypadku wystąpienia określonego zdarzenia. Twój moduł może użyć akcji, aby określić, że jedna lub więcej funkcji PHP będzie wykonywanych w tych punktach.
Przykładem użytecznej akcji jest wstawienie linku do ikony strony w pliku header.php w aktywnym motywie. Funkcja o nazwie theme_favicon zawiera kod HTML z adresem, pod którym przechowywany jest plik favicon.ico, zapisując add_action (’wp_head’, 'theme_favicon’); mówimy systemowi, że chcemy dołączyć naszą funkcję do funkcji wp_head wstawiając wspomniany kod między tagi< głowa>< / heed> .
function theme_favicon() { ?> <link rel="shortcut icon" href="<?php bloginfo('stylesheet_directory') ?>/images/favicon.ico"/> <?php } add_action('wp_head', 'theme_favicon');
Dobrą wiadomością jest to, że WordPress używa funkcji wszędzie, a opcje edycji są zasadniczo nieograniczone, ale początkujących programistów może zniechęcić ich liczba (obecnie ponad 1500). Nie jest łatwo znaleźć drogę do tak wielu funkcji, ale oficjalna dokumentacja WordPress zawiera dobrze przygotowane filtry i raporty działań , a baza danych haków Adama R. Browna jest dobrym początkiem do studiowania haków.
Czy ten artykuł był dla Ciebie pomocny? Wesprzyj mnie jego udostępnianiem. 👍