Snippety

Tvorba formuláře pro váš WordPress widget

Autor příspěvku Tomáš Cirkl

Tento článek je součástí série návodů zabývající se kompletní tvorbou WordPress widgetu.

  1. Co byste měli vědět než se pustíte do tvorby prvního widgetu
  2. Tvorba a registrace WordPress widgetu
  3. Tvorba samotného widgetu
  4. Tvorba formuláře pro váš WordPress widget
  5. 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.

Widget formulář

Widget formulář

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

 

O autorovi

Tomáš Cirkl

Baví mě Internet a zvláště pak redakční systém WordPress. Jsem pravidelným účastníkem a přednášejícím na WordCamp Praha a WordPress konferencích.

Zanechat komentář

Získejte více informací o WordPress!

Připojte se do našeho emailového seznamu a nenechte si ujít informace, novinky a návody ze světa WordPressu.

Úspěšně jste se zapsali do našeho newsletteru. Děkujeme!