web-dev-qa-db-fra.com

Comment créer un menu déroulant dans un widget?

Comment créer un menu déroulant simple avec 3 options dans un widget? J'utilise $ instance pour le faire. À quoi ressemblerait-il dans un widget barebone?

2
SloBros

C'est ce que je fais:

Options statiques

<select id="<?php echo $this->get_field_id('posttype'); ?>" name="<?php echo $this->get_field_name('posttype'); ?>" class="widefat" style="width:100%;">
    <option <?php selected( $instance['posttype'], 'Option 1'); ?> value="Option 1">Option 1</option>
    <option <?php selected( $instance['posttype'], 'Option 2'); ?> value="Option 2">Option 2</option> 
    <option <?php selected( $instance['posttype'], 'Option 3'); ?> value="Option 3">Option 3</option>   
</select>

Générer avec des options avec PHP (exemple)

<select id="<?php echo $this->get_field_id('posttype'); ?>" name="<?php echo $this->get_field_name('posttype'); ?>" class="widefat" style="width:100%;">
    <?php foreach(get_post_types($getposttype_args,'names') as $post_type) { ?>
        <option <?php selected( $instance['posttype'], $post_type ); ?> value="<?php echo $post_type; ?>"><?php echo $post_type; ?></option>
    <?php } ?>      
</select>

Vous voulez changer toutes les instances de posttype en utilisant le field_id que vous voulez utiliser.

6
Evan Yeung