Tento článek je součástí série návodů zabývající se kompletní 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
V této části se budeme zabývat tvorbou formuláře pro widget a ujištění se, že WordPress změněné nastavení uloží.
To znamená, že do třídy widgetu Tutsplus_List_Pages_Widget přidáme funkci theform a update.
Tvorba formuláře
K tomu, abyste mohli vytvořit formulář pro váš widget, budete muset rozšířit funkci form, která je již vytvořená ve třídě Tutsplus_List_Pages_Widget.
Otevřete si soubor pluginu a upravte funkci, aby vypadala takto:
function form( $instance ) { $defaults = array( 'depth' => '-1' ); $depth = $instance[ 'depth' ]; // označení formuláře ?> <p> <label for="<?php echo $this->get_field_id( 'depth' ); ?>">Hloubka seznamu:</label> <input class="widefat" type="text" id="<?php echo $this->get_field_id( 'depth' ); ?>" name="<?php echo $this->get_field_name( 'depth' ); ?>" value="<?php echo esc_attr( $depth ); ?>"> </p> <?php}Tímto kódem přidáte do formuláře vstupní pole ($depth), které bude použito k určení hloubky hierarchie. Výchozí natavení je -1, které znamená, že bude zobrazena kompletní hierarchie.
Uložte a aktualizujte plugin.

Nicméně ať teď napíšete co chcete, nic se neuloží.
Uložení formuláře
K tomu, aby mohlo dojít k uložení formuláře, musíte upravit funkci update.
function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance[ 'depth' ] = strip_tags( $new_instance[ 'depth' ] ); return $instance; }Touto úpravou uděláte to, že dojde k nahrazení staré hodnoty hloubky seznamu ($old_instance) novou ($new_instance). Od této chvíle se bude formulář ukládat.
Zdroj: Building the Form for Your WordPress Widget – Tuts+ Code Tutorial

