web-dev-qa-db-fra.com

Ajouter des champs personnalisés dans la classe meta box "à la volée"

Je suis l’un des contributeurs de la classe Meta Box ici sur Github ( link ) et avant d’avancer trop profondément, je voulais demander si quelqu'un savait d'une manière simple pour permettre aux utilisateurs d'ajouter des champs supplémentaires "à la volée", ayant un bouton "ajouter" avec un champ de texte pour ajouter des champs supplémentaires (c'est-à-dire des éléments de liste). J'ai déjà vu cela de différentes manières dans le passé, mais je suis tout à fait pour ne pas réinventer la roue.

5
Norcross

D'accord, je l'ai vu aussi, mais je ne pense pas qu'il existe une API ou une méthode facilement disponible.

Pour moi, j'utilise un coup de jQuery;

<input type="text" class="list-item" name="list_items[]" />
<input type="button" class="button-secondary" id="add-list" />

<script type="text/javascript">
    ( function( $ ) {
        $( '#add-list' ).click( function() {
            var $item =  $( '.list-item:last' ), $new = $item.clone();
            $item.after( $new.val( '' ) );
        }
    })( jQuery );
</script>

Notez que vous pouvez modifier ces sélecteurs si vous prévoyez d’avoir plusieurs "instances" de ceux-ci.

1
TheDeadMedic

jetez un coup d'œil à la classe de métaboxe WP alchemy. Dimas a déjà réglé ce problème avec sa configuration have_fields_and_multi

farinspace.com/wpalchemy-metabox/

0
helgatheviking