1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| <?php
class owMediaWidget extends WP_Widget{
//Initialisation du widget
public function __construct(){
parent::__construct(
'ow-media-widget',
'ow Media Widget',
array(
'description' => 'openWab Media uploader widget'
)
);
}
// Affichage du Widget dans le sidebar
public function widget( $args, $instance ){
extract($args);
$title = apply_filters('widget_title', $instance['title']);
echo $before_widget;
echo '<h4>'.esc_html($instance['text']).'</h4><img src="'.esc_url($instance['image_uri']).'" />';
echo $after_widget;
}
// Le formulaire qui affiche notre media uploader + Titre/text dans l'admin
public function form( $instance ){
?>
<p>
<label for="<?php echo $this->get_field_id('text'); ?>">Text</label><br />
<input type="text" name="<?php echo $this->get_field_name('text'); ?>" id="<?php echo $this->get_field_id('text'); ?>" value="<?php echo $instance['text']; ?>" class="widefat" />
</p>
<p>
<label for="<?php echo $this->get_field_id('image_uri'); ?>">Image</label><br />
<input type="text" class="img" name="<?php echo $this->get_field_name('image_uri'); ?>" id="<?php echo $this->get_field_id('image_uri'); ?>" value="<?php echo $instance['image_uri']; ?>" />
<input type="button" class="select-img" value="Select Image" />
</p>
<?php
}
}
//Function ppermettant d'initialiser notre Widget
function myplugin_register_widgets() {
register_widget('owMediaWidget');
}
add_action('widgets_init', 'myplugin_register_widgets');
// enqueue des fichiers javascript necessaires
function owMediaWidget_enqueue(){
wp_enqueue_style('thickbox');
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
// Le fichier Javascript externe, chemin à modifier selon emplacement
wp_enqueue_script('owmw', THEME_URL.'admin/js/ow-media-uploader.js', null, null, true);
}
add_action('admin_enqueue_scripts', 'owMediaWidget_enqueue');
?> |
Partager