Próbuję dynamicznie dodać pole formularza do widżetu WordPress. Jeśli więc użytkownik chce dodać inną datę do wydarzenia, może kliknąć przycisk, aby uzyskać więcej pól.
Pytanie brzmi: jak zapisać nowo utworzone pola wejściowe do mojej bazy danych? Czy muszę napisać niestandardową funkcję aktualizacji? Jakieś wskazówki?
Tak wygląda widget:
To jest mój kod php dla widgetu (jak dotąd):
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');
Wszelkie wskazówki, wskazówki i odpowiedzi są mile widziane. :)
plugin-development
widgets
options
Ole Henrik Skogstrøm
źródło
źródło
Odpowiedzi:
Interesujące pytanie!
Nigdy nie widziałem powtarzalnych pól używanych w widżetach. Udzielenie pełnej odpowiedzi wymagałoby zbyt dużo pracy / czasu, dlatego dam ci linki do znanych mi zasobów i mam nadzieję, że wykonasz tę pracę i udostępnisz nam rozwiązanie;)
Wszystkie te przykłady dotyczą Meta Boxów, musisz skopiować skrypty jQuery i dostosować je
post_meta
do skrzynki widżetów.W razie potrzeby utwórz więcej Meta-skrzynek - pytania i odpowiedzi WPSE
Powtarzalne pola niestandardowe w metaboksie - Gist
Powtarzalne pola niestandardowe w metaboksie - inny przykład Gist, bez opisu. Ten jest dość interesujący, ponieważ ma kod do sortowania pól.
źródło
To jest przykład dynamicznego widgetu, który renderuje dwa pola (image-id i url). jeśli wpiszesz identyfikator obrazu i naciśniesz „aktualizacja”, zostaną dodane dwa nowe pola. Zbudowałem go, aby stworzyć zręczny slilder z obrazami i połączonymi adresami URL.
źródło