Comment ajouter une liste déroulante des numéros 1 à 1000 comme champ de profil supplémentaire?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/40304

  •  01-11-2019
  •  | 
  •  

Question

Je ne veux pas écrire quelque chose comme ça de 1 à 1000:

        <select name="number_pick" id="number_pick" >    
        <option value="1" <?php selected( '1', get_the_author_meta( 'number', $user->ID ) ); ?>>1</option>
        <option value="2" <?php selected( '2', get_the_author_meta( 'number', $user->ID ) ); ?>>2</option>
        <option value="3" <?php selected( '3', get_the_author_meta( 'number', $user->ID ) ); ?>>3</option>
        </select>   

Donc, au lieu de cela, j'essaie d'utiliser une déclaration foreach pour passer de 1 à 1000. Je pense que je suis proche, mais j'ai quelque chose de mal et je ne sais pas ce que c'est.

            <select name="number_pick" id="number_pick" >
            <?php foreach (range(0,1000) as $number)
            echo "<option value='$number' selected( '$number', get_the_author_meta( 'number_pick', $user->ID ) ) >$number</option>"; ?>
            </select>

Quelqu'un peut-il me dire ce qui me manque dans les lignes ci-dessus?

Voici le code complet:

        <?php
            add_action( 'show_user_profile', 'show_extra_profile_fields' );
            add_action( 'edit_user_profile', 'show_extra_profile_fields' );

            function show_extra_profile_fields( $user ) { ?>
                <h3>Extra profile information</h3>
                <table class="form-table">
                    <tr>
                        <th><label for="number_pick">Pick A Number</label></th>
                        <td>
                            <select name="number_pick" id="number_pick" >
                                <?php foreach (range(0,1000) as $number)
         echo "<option value='$number' selected( '$number', get_the_author_meta( 'number_pick', $user->ID ) ) >$number</option>"; ?>
                            </select>
                        </td>
                    </tr>
                </table>
            <?php }

            add_action( 'personal_options_update', 'save_extra_profile_fields' );
            add_action( 'edit_user_profile_update', 'save_extra_profile_fields' );

            function save_extra_profile_fields( $user_id ) {
                if ( !current_user_can( 'edit_user', $user_id ) )
                    return false;
                update_usermeta( $user_id, 'number_pick', $_POST['gender'] );
            }
        ?>

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top