2012-10-17 35 views
2
class ad_widget extends WP_Widget { 
function __construct() { 
    $widget_ops = array('classname' => 'ad-widget-container', 'description' => __(' Ad WIDGET')); 
    parent::__construct('ad-widget', __('Ad widget', 'test'), $widget_ops); 
} 
function widget($args, $instance) { 
    extract($args, EXTR_SKIP); 
    $title = empty($instance['title']) ? '' : apply_filters('widget_title', $instance['title']); 
    $text = empty($instance['text']) ? '' : apply_filters('widget_text', $instance['text']); 
    echo $args['before_widget']; 
    if ($title) 
     echo $args['before_title'] . $title . $args['after_title']; 

    echo '<div class="cutom-widget">'; 
     echo $text; 
    echo '</div>'; 
    echo $args['after_widget']; 
} 
function update($new_instance, $old_instance) { 
    $instance = $old_instance; 
    $instance['title'] = strip_tags($new_instance['title']); 
    $instance['text'] = $new_instance['text']; 
    return $instance; 
}  
function form($instance) { 
    $instance = wp_parse_args((array) $instance, array('title' => '')); 
    $title = esc_attr($instance['title']); 
    $text = esc_textarea($instance['text']); ?> 
    <p> 
     <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:', 'test'); ?></label> 
     <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /> 
     <textarea class="widefat" rows="16" cols="20" id="<?php echo $this->get_field_id('text'); ?>" name="<?php echo $this->get_field_name('text'); ?>"><?php echo $text; ?></textarea> 
    *<a>Add more text area</a> 
    <a>delete text area </a>* 
    </p><?php 
} 

} 這是一個文本框和文本area.I一個簡單的小部件需要這樣的東西,當我點擊「添加更多文本區域」它增加了與不同的textarea編號並保存不同的值。創建多個textarea的一個WordPress插件

回答

0

我想你必須使用JS來做到這一點。

  1. 地方或追加在最後的textarea
  2. 一個按鈕,在點擊該按鈕將再增加textarea的與適當的標記
  3. 抓住該值並追加部件形式