Estou tentando adicionar campo de formulário a um widget do WordPress dinamicamente. Portanto, se o usuário desejar adicionar outra data a um evento, poderá clicar em um botão para obter mais campos.
A pergunta é: como salvar os campos de entrada recém-criados no meu banco de dados? Preciso escrever uma função de atualização personalizada? Alguma dica?
É assim que o widget fica:
Este é o meu código php para o widget (até agora):
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');
Todas as dicas, sugestões ou respostas são bem-vindas. :)
plugin-development
widgets
options
Ole Henrik Skogstrøm
fonte
fonte
Respostas:
Pergunta interessante!
Eu nunca vi campos repetíveis usados em Widgets. Dar uma resposta completa exigiria muito trabalho / tempo, por isso darei links para os recursos que conheço e espero que você faça esse trabalho e compartilhe a solução conosco;)
Todos esses exemplos lidam com Meta Boxes, você precisará copiar os scripts do jQuery e adaptar o
post_meta
caso ao Widgets.Crie mais caixas meta, conforme necessário - Perguntas e respostas sobre o WPSE
Campos personalizados repetíveis em uma Metabox - Gist
Campos personalizados repetíveis em uma Metabox - Outro exemplo de Gist, nenhuma descrição fornecida. Este é bastante interessante, pois possui o código para classificar os campos.
fonte
Este é um exemplo de um widget dinâmico que renderiza dois campos (ID da imagem e URL). se você digitar um ID da imagem e pressionar "atualizar", serão adicionados dois novos campos. Eu o construo para criar um slilder liso com imagens e URLs vinculados.
fonte