J'essaie d'ajouter dynamiquement un champ de formulaire à un widget WordPress. Donc, si l'utilisateur souhaite ajouter une autre date à un événement, il peut cliquer sur un bouton pour obtenir plus de champs.
La question est: comment enregistrer les champs de saisie nouvellement créés dans ma base de données? Dois-je écrire une fonction de mise à jour personnalisée? Des conseils?
Voici à quoi ressemble le widget:
Voici mon code php pour le widget (jusqu'à présent):
class Spillelister extends WP_Widget {
public function Spillelister() {
$widget_options = array (
'classname' => 'spillelister-widget',
'description' => 'Widget for å illustrere spillelister.');
parent::WP_Widget('spillelister_widget', 'Spilleplan', $widget_options);
}
// The actual widget user interface
public function widget($args, $instance) {
extract( $args, EXTR_SKIP);
$title = ( $instance['title'] ) ? $instance['title'] : 'Spilleplan';
$body = ( $instance['body'] ) ? $instance['body'] : 'Ingen flere forestillinger';
?>
<?php echo $before_widget; ?>
<?php echo $before_title . $title . $after_title; ?>
<p><?php echo $body; ?></p>
<?php
}
public function update() {
}
public function form() {
?>
<div class="date_stamp">
<p>
<label>Dato</label> <input type="text" class="datepicker">
<br>
<label>Tid</label> <input type="text">
<span class="remove">Remove</span>
</p>
</div>
<p>
<span class="add">Add fields</span>
</p>
<?php
}
}
function spillelister_init() {
register_widget('Spillelister');
}
add_action('widgets_init', 'Spillelister_init');
Tous les conseils, astuces ou réponses sont appréciés. :)
plugin-development
widgets
options
Ole Henrik Skogstrøm
la source
la source
Réponses:
Question interessante!
Je n'ai jamais vu de champs répétables utilisés dans les widgets. Donner une réponse complète nécessiterait trop de travail / temps, donc je vais vous donner des liens vers les ressources que je connais, et j'espère que vous ferez ce travail et partagerez la solution avec nous;)
Tous ces exemples concernent les Meta Box, vous devrez copier les scripts jQuery et les adapter
post_meta
au cas Widgets.Créez plus de Meta Box selon vos besoins - WPSE Q&A
Champs personnalisés répétables dans une Metabox - Gist
Champs personnalisés répétables dans une Metabox - Un autre exemple Gist, aucune description donnée. Celui-ci est assez intéressant car il a le code pour trier les champs.
la source
Ceci est un exemple de widget dynamique qui rend deux champs (image-id et url). si vous entrez une image-id et appuyez sur "mettre à jour", deux nouveaux champs sont ajoutés. Je le construis pour créer un slick slilder avec des images et des URL liées.
la source