Я пытаюсь динамически добавить поле формы в виджет WordPress. Поэтому, если пользователь хочет добавить другую дату к событию, он может нажать кнопку, чтобы получить больше полей.
Вопрос: как сохранить вновь созданные поля ввода в моей базе данных? Мне нужно написать пользовательскую функцию обновления? Какие-нибудь советы?
Вот как выглядит виджет:
Это мой php-код для виджета (пока):
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');
Любые советы, подсказки или ответы приветствуются. :)
plugin-development
widgets
options
Оле Хенрик Скогстрём
источник
источник
Ответы:
Интересный вопрос!
Я никогда не видел повторяющихся полей, используемых в виджетах. Для получения полного ответа потребуется слишком много работы / времени, поэтому я дам вам ссылки на известные мне ресурсы, и, надеюсь, вы справитесь с этой задачей и поделитесь с нами решением;)
Все эти примеры касаются Meta Boxes, вам нужно скопировать сценарии jQuery и адаптировать их
post_meta
к случаю виджетов.Создайте больше мета- боксов по мере необходимости - WPSE Q & A
Повторяемые пользовательские поля в Metabox - Gist
Повторяемые пользовательские поля в Metabox - еще один пример Gist, описание не приводится. Это довольно интересно, так как в нем есть код для сортировки полей.
источник
Это пример динамического виджета, который отображает два поля (image-id и url). если вы введете идентификатор изображения и нажмете «обновить», будут добавлены два новых поля. Я построил его, чтобы создать скользкий слайдер с изображениями и ссылками.
источник