forked from Gipetto/wordpress.tmbundle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Widget Template 2.tmSnippet
84 lines (76 loc) · 2.56 KB
/
Widget Template 2.tmSnippet
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>content</key>
<string>/**
* new WordPress Widget format
* Wordpress 2.8 and above
* @see http://codex.wordpress.org/Widgets_API#Developing_Widgets
*/
class ${1:PREFIX_Name}_Widget extends WP_Widget {
/**
* Constructor
*
* @return void
**/
function $1_Widget() {
\$widget_ops = array( 'classname' => '${2:CSS class name}', 'description' => '${3:Description}' );
\$this->WP_Widget( '$2', '${4:Title}', \$widget_ops );
}
/**
* Outputs the HTML for this widget.
*
* @param array $args An array of standard parameters for widgets in this theme
* @param array $instance An array of settings for this widget instance
* @return void Echoes it's output
**/
function widget( \$args, \$instance ) {
extract( \$args, EXTR_SKIP );
echo \$before_widget;
echo \$before_title;
echo '$4'; // Can set this with a widget option, or omit altogether
echo \$after_title;
//
// Widget display logic goes here
//
echo \$after_widget;
}
/**
* Deals with the settings when they are saved by the admin. Here is
* where any validation should be dealt with.
*
* @param array $new_instance An array of new settings as submitted by the admin
* @param array $old_instance An array of the previous settings
* @return array The validated and (if necessary) amended settings
**/
function update( \$new_instance, \$old_instance ) {
// update logic goes here
\$updated_instance = \$new_instance;
return \$updated_instance;
}
/**
* Displays the form for this widget on the Widgets page of the WP Admin area.
*
* @param array $instance An array of the current settings for this widget
* @return void Echoes it's output
**/
function form( \$instance ) {
\$instance = wp_parse_args( (array) \$instance, array( ${5:array of option_name => value pairs} ) );
// display field names here using:
// \$this->get_field_id('option_name') - the CSS ID
// \$this->get_field_name('option_name') - the HTML name
// \$instance['option_name'] - the option value
}
}
add_action( 'widgets_init', create_function( '', "register_widget('$1_Widget');" ) );</string>
<key>name</key>
<string>Widget Template</string>
<key>scope</key>
<string>source.php</string>
<key>tabTrigger</key>
<string>widget</string>
<key>uuid</key>
<string>F1B67B91-6CBF-4124-A607-C50D7BAA464A</string>
</dict>
</plist>