Filtr je funkce, která může být zavěšena do WordPress události (hook). Během provádění dané události se aplikuje filtr na vygenerovaná výstupní data.
Je důležité pamatovat, že filtry pracují s daty ještě předtím, než je zobrazí prohlížeč.
Filtry vždy mají vstupní a výstupní data, která se nakonec předají prohlížeči. Pro srovnání akce, které jsou filtrům podobné, nevyžadují výstupní data, i když je mít mohou.
Příklad: Řekněme, že chcete zobrazit text, který k příspěvku náleží podle rubriky. V našem příkladě pomocí funkce kontrolujeme, zda příspěvek patří do dané rubriky. Pokud ano, zobrazí se text.
Funkci zavěsíme do hooku the_content. Kdykoliv se daná událost the_content provede, automaticky se spustí i filtr.
// Nejprve se zavěsíme do hooku the_content
add_filter( 'the_content', 'wplama_content_filter' );
// Definujeme, co naše funkce dělá
// V tomto případě zobrazíme text, pokud je příspěvek v kategorii novinky
function wplama_content_filter( $content ) {
if ( in_category(‘novinky’) )
$content = sprintf(‘NOVINKA’, get_bloginfo( ‘stylesheet_directory’ ), $content);
// Vrátíme obsah
return $content;
}
Filtry jsou funkce, které mohou být ve WordPress použity, aby jimi prošla data. Umožňují vývojářům upravovat chování specifické funkce.
Funkce použité pro filtrování dat se nazávají hooky. Filtry a akce společně umožňují vývojářům velkou flexibilitu v úpravě výchozích WordPress událostí, filtrů a a akcí. Vývojáři mohou snadno vytvořit svůj vlastní filtr nebo akci, takže další vývojáři mohou rozšířit jejich plugin nebo šablonu.
Filtry se od akcí liší v tom, že akce se provádějí při událostech jako je aktivace šablony nebo pluginu, publikování příspěvku a podobně. Filtry se používají pro filtrování výstupu, když se posílají data z databáze prohlížeči.
WordPress plugin API má široký list dostupných WordPress hooků.