Přeskočit na obsah

Web nefunguje? Volejte Web nefunguje? +420 721 589 155 nebo nám napište Napište nám

Snippety

Tvorba formuláře pro váš WordPress widget

Tomáš Cirkl Publikováno Aktualizováno 2 min čtení

Pozor:

Článek je z roku 2014. Některé postupy se mohly změnit.

Obsah článku (2 kapitoly)

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

 

Autor

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.

1 031 článků Všechny články autora

Komentáře

Zatím tu nikdo nekomentoval. Napište první komentář.

Přidat komentář

E-mail nezveřejníme. Povinná pole jsou označena hvězdičkou.

Jak zacházíme s údaji z komentářů, popisují zásady ochrany osobních údajů.