Hooks to fundament programowania WordPress. Pozwalają modyfikować działanie WordPressa bez edycji plików core. Dwa typy: Actions (wykonują kod) i Filters (modyfikują dane). Niezbędna wiedza dla każdego developera.
Krótka odpowiedź
Actions wykonują kod w określonym momencie (np. po zapisaniu posta). Filters modyfikują dane przepływające przez WordPress (np.
zmiana tytułu). Używasz add_action('hook', 'funkcja') i add_filter('hook', 'funkcja'). Hooks są wszędzie - core, motywy, wtyczki.
Usługi KC Mobile
Sprawdź naszą ofertę
Potrzebujesz pomocy specjalisty? Skorzystaj z naszych usług i rozwiń swój biznes online.
Actions vs Filters
Actions (do_action):
- Wykonują kod w określonym momencie
- Nie zwracają wartości
- Przykład: wyślij email po publikacji posta
add_action('publish_post', function($post_id) {
// Wyślij email
wp_mail('[email protected]', 'Nowy post', 'Opublikowano post ID: ' . $post_id);
});Filters (apply_filters):
- Modyfikują dane
- Muszą zwrócić wartość
- Przykład: zmień tytuł posta
add_filter('the_title', function($title) {
return strtoupper($title); // Wielkie litery
});Kluczowa różnica:
- Action: coś zrób
- Filter: coś zmień i zwróć
Popularne Actions
Inicjalizacja:
- init - po załadowaniu WP, przed headers
- wp_loaded - całkowicie załadowany WP
- admin_init - inicjalizacja panelu admin
Posty:
- save_post - przy zapisie posta
- publish_post - przy publikacji
- delete_post - przy usuwaniu
- wp_insert_post - po wstawieniu do bazy
Frontend:
- wp_head - w sekcji
- wp_footer - przed
- wp_enqueue_scripts - ładowanie skryptów/stylów
Użytkownicy:
- user_register - po rejestracji
- wp_login - po zalogowaniu
- wp_logout - po wylogowaniu
Przykład:
add_action('wp_head', function() {
echo '<meta name="author" content="Jan">';
});Wolisz, żeby zrobił to specjalista?
Oszczędź czas i uniknij błędów. Wdrożymy to rozwiązanie za Ciebie – profesjonalnie i szybko.
Popularne Filters
Treść:
- the_content - treść posta
- the_title - tytuł posta
- the_excerpt - zajawka
- the_permalink - URL posta
Query:
- pre_get_posts - modyfikacja zapytania przed wykonaniem
- posts_where - klauzula WHERE
- posts_orderby - sortowanie
Admin:
- manage_posts_columns - kolumny w liście postów
- post_row_actions - akcje przy poście
Inne:
- body_class - klasy body
- upload_mimes - dozwolone typy plików
- login_redirect - przekierowanie po logowaniu
Przykład:
add_filter('the_content', function($content) {
if (is_single()) {
$content .= '<p>Dziękujemy za przeczytanie!</p>';
}
return $content;
});Tworzenie własnych hooks
Tworzenie Action:
// W kodzie motywu/wtyczki:
do_action('my_custom_action', $arg1, $arg2);
// Użycie:
add_action('my_custom_action', function($arg1, $arg2) {
// Twój kod
}, 10, 2); // 10 = priorytet, 2 = liczba argumentówTworzenie Filter:
// W kodzie:
$value = apply_filters('my_custom_filter', $default_value, $context);
// Użycie:
add_filter('my_custom_filter', function($value, $context) {
if ($context == 'special') {
return 'Modified: ' . $value;
}
return $value;
}, 10, 2);Priorytet:
- Domyślnie 10
- Niższy = wcześniej
- Wyższy = później
Usuwanie hooks:
remove_action('hook', 'function_name', 10);
remove_filter('hook', 'function_name', 10);Wspomniane narzędzia
Potrzebujesz pomocy z WordPress?
Tworzymy i naprawiamy strony na WordPress. Optymalizacja prędkości, bezpieczeństwo, aktualizacje. 500+ zrealizowanych projektów.
Najczęściej zadawane pytania
Gdzie umieszczać kod z hooks?
Potrzebujesz pomocy?
Wolisz, żeby zrobił to specjalista?
Oszczędź czas i uniknij błędów. Wdrożymy to rozwiązanie za Ciebie – profesjonalnie i szybko.