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

 

Neuteklo vám něco?

Pokrok a WordPress na nikoho nečekají, tak nám tu raději nechte email, ať o nic nepřijdete!

Nespamujeme! Další informace naleznete v našich zásadách ochrany osobních údajů.

Správa WordPress webu

Nemusíte na to být sami. Pomůžeme vám s pravidelnou údržbou i novými vylepšeními.

Více informací

Diskuze

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

Nákupní košík
Přejít nahoru