Tento článek je druhým dílem série zabývající se tvorbou WordPress 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
Co budete potřebovat
K tomu, abyste mohli pokračovat ve tvorbě widgetu, budete potřebovat:
- developerskou instalaci WordPressu
- vývojářský editor (doporučuji PSPad)
Tvorba pluginu
První věc, kterou musíte udělat je vytvořit plugin. Vytvořte nový soubor ve složce wp-content/plugins. Já jsem ten svůj pojmenoval wplama-seznam-podstranek.php.
Vložte do něj následující kód:
<?php /*Plugin Name: Widget Seznam podstránek Description: Tento widget kontroluje, zda má současná stránka nadřazené nebo podřazené stránky. Pokud tomu tak je, pak zobrazí seznam stránek, v kterém se nachází. Version: 0.1 Author: Tomáš Cirkl Author URI: https://wplama.cz License: GPLv2 */ ?>
Samozřejmě nezapomeňte změnit autora, URL adresu a případně i další popisky pluginu.
Tvorba třídy widgetu
Dalším krokem je tvorba nové třídy widgetu, která bude rozšiřovat třídu WP_Widget.
Do pluginu vložte následující kód:
<?php class Tutsplus_List_Pages_Widget extends WP_Widget { function __construct() { } function form( $instance ) { } function update( $new_instance, $old_instance ) { } function widget( $args, $instance ) { } } ?>
Podívejme se co obsahuje:
- funkce _contruct tvoří funkci. Uvnitř této funkce definujeme věci jako ID widgetu, jeho název a popis.
- funkce form tvoří formulář, který bude zobrazen ve Vzhled -> Widgety. Slouží k přizpůsobení widgetu.
- funkce update zajišťuje, že se aktualizuje nastavení, které uživatelé do nastavení widgetu vložili.
- funkce widget definuje výstup widgetu při zobrazení na stránce.
Další parametry si rozebereme později.
Registrace widgetu
Nově vytvořený widget nebude fungovat dokud nebude registrován. Pod třídu vložte funkci a zavěste do ní toto:
<?php function tutsplus_register_list_pages_widget() { register_widget( 'Tutsplus_List_Pages_Widget' ); } add_action( 'widgets_init', 'tutsplus_register_list_pages_widget' ); ?>
Funkce register_widget() je WordPress funkce, která obsahuje pouze jeden parametr a to jméno třídy, kterou jste právě vytvořili.
Následně pak zavěsíte vaší funkci pomocí widgets_init a ujistíte se, že ji WordPress zaznamená.
Poznámka: Plugin můžete klidně aktivovat, ale nic zatím nedělá. Ani widget se zatím zobrazovat nebude.
Zdroj: Coding and Registering Your WordPress Widget – Tuts+ Code Tutorial