Ich versuche, einem WordPress-Widget dynamisch ein Formularfeld hinzuzufügen. Wenn der Benutzer einem Ereignis ein weiteres Datum hinzufügen möchte, kann er auf eine Schaltfläche klicken, um weitere Felder abzurufen.
Die Frage ist: Wie speichere ich neu erstellte Eingabefelder in meiner Datenbank? Muss ich eine benutzerdefinierte Update-Funktion schreiben? Irgendwelche Tipps?
So sieht das Widget aus:
Dies ist mein PHP-Code für das Widget (bisher):
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');
Alle Tipps, Hinweise oder Antworten sind willkommen. :) :)
plugin-development
widgets
options
Ole Henrik Skogstrøm
quelle
quelle
Antworten:
Interessante Frage!
Ich habe noch nie wiederholbare Felder in Widgets gesehen. Eine vollständige Antwort zu geben würde zu viel Arbeit / Zeit erfordern, daher werde ich Ihnen Links zu den mir bekannten Ressourcen geben, und hoffentlich werden Sie diese Arbeit machen und die Lösung mit uns teilen;)
Alle diese Beispiele befassen sich mit Meta-Boxen. Sie müssen die jQuery-Skripte kopieren und
post_meta
an den Widgets-Fall anpassen .Erstellen Sie nach Bedarf weitere Meta-Boxen - WPSE-Fragen und Antworten
Wiederholbare benutzerdefinierte Felder in einer Metabox - Gist
Wiederholbare benutzerdefinierte Felder in einer Metabox - Ein weiteres Beispiel, ohne Beschreibung. Dieser ist sehr interessant, da er den Code zum Sortieren der Felder enthält.
quelle
Dies ist ein Beispiel für ein dynamisches Widget, das zwei Felder (Bild-ID und URL) rendert. Wenn Sie eine Bild-ID eingeben und auf "Aktualisieren" klicken, werden zwei neue Felder hinzugefügt. Ich baue es, um einen Slick Slilder mit Bildern und verknüpften URLs zu erstellen.
quelle