Tvorba formuláře pro váš WordPress widget

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

WordPress specialista · 12 let praxe · 300+ webů ve správě

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.

0 Komentářů

Odeslat Komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Pojďme se seznámit

30 minut video callu, podívám se na tvůj web a řeknu, co by se dalo zlepšit. Nic neslibuju, ale obvykle odcházíš se seznamem priorit.