Bright Plugins vykupuje pluginy pro WordPress a WooCommerce. Spojme se
Stránky produktů

Průvodce hooky, akcemi a filtry ve WordPressu

WordPress Hooks Actions Filters

Vítejte u „Průvodce hooky, akcemi a filtry ve WordPressu“. V rozsáhlém světě vývoje pro WordPress patří porozumění hookům, akcím a filtrům k základům, bez kterých plný potenciál této platformy nevyužijete.

Hooky tvoří páteř všech úprav WordPressu – díky nim můžete jeho funkce plynule měnit a rozšiřovat. Akce umožňují spustit konkrétní úlohu v klíčovém okamžiku běhu webu, filtry naopak dovolují pracovat s daty a vrátit je upravená. Ať už začínáte, nebo máte za sebou roky vývoje, tento podrobný průvodce vám nabídne cenné souvislosti i praktické příklady, jak skutečnou flexibilitu hooků, akcí a filtrů ve WordPressu využít. Pojďme se do toho pustit a otevřít si neomezené možnosti vývoje pro WordPress.

Diagram hooků a akcí ve WordPressu

Hooky

Hooky jsou základem vývoje pluginů a šablon pro WordPress. Jsou to místa, kam vývojáři mohou „zaháknout“ vlastní kód na přesně určeném místě a změnit chování WordPressu bez zásahu do souborů jádra.

Ukázka kódu hooků a akcí ve WordPressu

Existují dva typy hooků ve WordPressu: akce a filtry

Hooky ve WordPressu se dělí na dva základní typy: akce (actions) a filtry (filters). Akce umožňují provést konkrétní úlohu v předem definovaném bodě běhu WordPressu, filtry naproti tomu dovolují upravit a vrátit jakákoli data, která WordPress zpracovává.

Akce:

Pomocí akce upravíte výchozí chování konkrétní funkce tak, že si z WordPressu vytáhnete potřebné informace a provedete s nimi požadovanou operaci. Jakmile se akce vykoná, není nutné WordPressu vracet žádná data.

K přidávání akcí slouží funkce add_action(). WordPress nabízí několik funkcí pro práci s akcemi, nejčastěji se používají tyto:

  • add_action(): připojí zadanou funkci k hooku v rámci procesu do_action.
  • remove_action(): umožňuje odebrat funkci připojenou ke konkrétnímu akčnímu hooku.
  • do_action(): místo, kde se funkce navázané na hook skutečně vykonají.
  • has_action(): ověří, zda je akce zaregistrovaná.
Vysvětlení hooků ve WordPressu

V kódu WordPressu se akce definují takto:

do_action( 'action_name', );

Zaháknutím do akce do_action(‘wp_head’) spustíte vlastní kód pokaždé, když WordPress zpracovává hlavičku webu. Tato akce nevyžaduje žádné další argumenty.

Kompletní zápis:

add_action( string $hook_name, callable $callback, int $priority = 10, int $accepted_args = 1 ): true

Přehled všech akcí:

https://codex.wordpress.org/Plugin_API/Action_Reference

https://developer.wordpress.org/reference/functions/add_action/

Filtry:

Filtr mění výchozí chování konkrétní funkce. Pracuje s daty, která dostane, a vrací je WordPressu ještě předtím, než se zobrazí v prohlížeči.

Příklady:

  • add_filter(): připojí funkci k hooku
  • remove_filter(): odebere funkci připojenou ke konkrétnímu filtrovacímu hooku
  • doing_filter(): zjistí, který filtr se právě vykonává
  • has_filter(): ověří, zda je filtr zaregistrovaný

V kódu WordPressu se filtry definují takto:

apply_filters( 'filter_name', 'value_to_be_filtered', );

Řetězec filter_name je název filtru, proměnná value_to_be_filtered obsahuje hodnotu, která se má odfiltrovat a vrátit, a další proměnná může stejně jako u akcí předat doplňkové argumenty.

Příklad: do filtru apply_filters( ‘admin_footer_text‘ , string $text ) se lze zaháknout a upravit text zobrazený v patičce administrace. Od WordPressu 5.4 se v patičce administrace ve výchozím nastavení objevuje věta Thank you for creating with WordPress.

Hooky ve WordPressu

Akce Filtry
Akce slouží ke spuštění vlastních funkcí v konkrétním bodě běhu jádra WordPressu. Filtry slouží k úpravě nebo přizpůsobení dat, se kterými pracují jiné funkce.
Akce se v kódu WordPressu definují a vytvářejí funkcí do_action( ‘action_name’ ). Filtry se v kódu WordPressu definují a vytvářejí funkcí apply_filters( ‘filter_name’, ‘value_to_be_filtered’ ).
Akcím se také říká akční hooky (action hooks). Filtrům se také říká filtrovací hooky (filter hooks).
Do akcí se lze zaháknout pouze funkcemi určenými pro akce, například add_action() nebo remove_action(). Do filtrů se lze zaháknout pouze funkcemi určenými pro filtry, například add_filter() nebo remove_filter().
Funkce akcí nemusí svým callbackům předávat žádné argumenty. Funkce filtrů musí svým callbackům předat alespoň jeden argument.
Funkce akcí mohou provést jakoukoli úlohu včetně změny toho, jak WordPress funguje. Funkce filtrů existují pouze proto, aby upravily data, která jim filtr předá.
Funkce akcí by neměly nic vracet. Mohou ale výstup vypsat pomocí echo nebo pracovat s databází. Funkce filtrů musí své změny vrátit jako výstup. I když filtr nic nezmění, musí vrátit vstup v nezměněné podobě.
Akce mohou vykonat prakticky cokoli, pokud je kód platný. Filtry by měly pracovat izolovaně, aby nezpůsobily nechtěné vedlejší efekty.

Zvládnutí hooků, akcí a filtrů ve WordPressu otevírá nekonečné možnosti, jak svůj web upravit a vylepšit. Když pochopíte, jak hooky fungují, využijete sílu akcí a flexibilitu filtrů, přizpůsobíte funkce i vzhled webu přesně svým potřebám. S tím, co jste se v tomto průvodci dozvěděli, máte vývoj na WordPressu plně ve svých rukou. Pusťte se tedy do experimentování a připravte svým uživatelům skvělý zážitek. Využijte všestrannost hooků, akcí a filtrů ve WordPressu a odemkněte skutečný potenciál svého webu. Příjemné kódování!

Zajímá vás budoucnost WordPressu? Přečtěte si tento článek!

Subscribe to our newsletter

WooCommerce tips, plugin updates, and release notes. No spam.