Ondersteuning » Code oplossingen gezocht » Widget met array opslaan

  • Mark Jansen

    (@mark-jansen)


    Beste,

    ik ben op dit moment bezig met een widget waarin 5 URL velden onder elkaar moeten komen te staan. Ik wil deze url’s in een array zetten en vervolgens op slaan. Ik krijg alleen een raar resultaat terug. Misschien komt het omdat ik het verkeerd op sla, maar ik hoop dat iemand mij hier wat verder kan helpen. Ik krijg nu in elk veld array te staan.

    <?php
    function form($instance) {
            $url = esc_attr($instance['url']);
            for($i=0;$i<5;$i++) {
            ?>
            <p>
                <?php print_r($url); ?>
    			<label for="<?php echo $this->get_field_id('url'); ?>"><?php _e('URL:'); ?>
    				<input class="widefat" id="<?php echo $this->get_field_id('url'); ?>-<?php echo $i; ?>" name="<?php echo $this->get_field_name('url'); ?>[]" type="text" value="<?php echo $url; ?>" />
    			</label>
    		</p>
    	<?php
            }
            ?>

    En de save functie:

    <?php
    function update($new_instance,$old_instance) {
    		$instance = $old_instance;
    
            for($i=0;$i<5;$i++) {
                $instance['url'] = esc_attr($new_instance['url']);
            }
    
    		return $instance;
    	}
    ?>
  • Het onderwerp ‘Widget met array opslaan’ is gesloten voor nieuwe reacties.