Pro lidi, kteří se nezabývají programováním jsou WordPress widgety skvělé. Díky nim si mohou na web umisťovat menu, seznamy, texty nebo třeba obrázky. Prostor pro widgety se obvykle nachází po levé nebo pravé straně stránky. Nové šablony ho také často mívají v patičce a ty opravdu propracované šablony mají připraveno několik variant oblastí pro widgety, ze kterých si můžete vybírat.
Tento článek je součástí série článků zabývající se tvorbou widgetu:
- Co byste měli vědět než se pustíte do tvorby prvního widgetu
- Tvorba a registrace WordPress widgetu
- Tvorba samotného widgetu
- Tvorba formuláře pro váš WordPress widget
- Zobrazení widgetu na stránce
Tvorba widgetu
Při tvorbě widgetu rozšiřujete třídu WP_Widget, která obsahuje několik funkcí:
- funkci zpracovat widget
- funkci zobrazit formulář pro widget v administraci webu (Vzhled -> Widgety)
- funkci aktivovat nastavení widgetu pro uživatele
- funkci zobrazit widget ve vybrané oblasti pro widgety
Ještě je třeba dodat, že vytvořený widget potřebujete zaregistrovat pomocí funkce register_widget().
Do widgetu můžete vložit prakticky cokoliv – statický text, výsledky z databázového dotazu, feed z jiné stránky… Nicméně je třeba pamatovat na to, že uživatelé předpokládají, že widget vyplní předdefinovanou oblast. Z toho důvodu by neměl být widget příliš rozsáhlý.
WordPress již v základu obsahuje velké množství widgetů, takže pokud chcete, můžete se na ně podívat.
Widget API
API (zkratka pro Application Programming Interface) označuje v informatice rozhraní pro programování aplikací. Tento termín používá softwarové inženýrství. Jde o sbírku procedur, funkcí, tříd či protokolů nějaké knihovny (ale třeba i jiného programu nebo jádra operačního systému), které může programátor využívat. API určuje, jakým způsobem jsou funkce knihovny volány ze zdrojového kódu programu.
Widget API zahrnuje funkce, které budete potřebovat k tvorbě widgetu.
Nejprve se podívejme na čtyři funkce widgetu:
- is_active_widget() – podmínkový tag kontroluje, zda je daný widget aktivní. Pozor na záměnu s is_active_sidebar(), který kontroluje, zda byl widget přidán do dané oblasti pro widgety.
- the_widget() – tag šablony, který zobrazuje widget mimo oblasti pro widgety.
- register_widget() – funkce pro registraci widgetu.
- unregister_widget() – použití této funkce docílíte toho, že widget nebude již nadále dostupný v administraci WordPressu.
Dále je zde pět interních funkcí:
- wp_register_widget_control() – vytváří ovládací prvky ve Vzhled -> Widgety, takže uživatelé mohou měnit nastavení widgetu.
- wp_unregister_widget_control() – odstraňuje ovládací prvky widgetu, které byly vytvořené pomocí wp_register_widget_control().
- wp_conter_widget_settings() – tímto změníte nastavení widgetu z jedné instance na multi-widget.
- wp_get_widget_defaults() – jedná se o funkci jádra, žádný tvůrce widgetu nebo šablony by ji neměl používat.
- wp_widget_description() – vytváří popisek widgetu, který bude zobrazen ve Vzhled -> Widgety.
K tomu, abyste mohli využít tyto interní funkce tak nezapomeňte použít třídu WP_Widget. Jedná se o tvůrčí třídu, kterou poté rozšiřujete při tvorbě dalších widgetů.
Zdroj: Introduction to Creating Your First WordPress Widget