Estoy tratando de agregar campo de formulario a un widget de WordPress dinámicamente. Entonces, si el usuario desea agregar otra fecha a un evento, puede hacer clic en un botón para obtener más campos.
La pregunta es: ¿cómo guardo los campos de entrada recién creados en mi base de datos? ¿Necesito escribir una función de actualización personalizada? ¿Algun consejo?
Así es como se ve el widget:
Este es mi código php para el widget (hasta ahora):
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');
Se agradece cualquier consejo, sugerencia o respuesta. :)
plugin-development
widgets
options
Ole Henrik Skogstrøm
fuente
fuente
Respuestas:
¡Interesante pregunta!
Nunca he visto campos repetibles utilizados en widgets. Dar una respuesta completa requeriría demasiado trabajo / tiempo, por lo que le daré enlaces a los recursos que conozco, y espero que haga que esto funcione y comparta la solución con nosotros;)
Todos estos ejemplos tratan con Meta Boxes, deberá copiar los scripts de jQuery y adaptarlos
post_meta
al caso de Widgets.Cree más Meta Boxes según sea necesario - Preguntas y respuestas de WPSE
Campos personalizados repetibles en un Metabox - Gist
Campos personalizados repetibles en un Metabox : otro ejemplo de Gist, sin descripción. Este es bastante interesante ya que tiene el código para ordenar los campos.
fuente
Este es un ejemplo de un widget dinámico que representa dos campos (image-id y url). Si ingresa un ID de imagen y presiona "actualizar", se agregan dos nuevos campos. Lo construyo para crear un deslizador elegante con imágenes y URL vinculadas.
fuente