Skip to content

Commit 4434f71

Browse files
committed
New snippets and tweaks
1 parent 8f61a99 commit 4434f71

9 files changed

+71
-158
lines changed

README.md

Lines changed: 9 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,13 @@
11
# Wordpress Snippets for Sublime Text 3
22
Simple snippets for Wordpress elements, such as meta boxes, pages, subpages, post types, taxonomies, etc...
3-
##wp_create_plugin
4-
Snippet for creating wrapper for plugins
5-
```
6-
/* Plugin Name: New plugin
7-
* Description: Description
8-
* Version: 1.0
9-
* Author: Me
10-
*/
113

12-
if (!class_exists('MyPluginClass')) {
13-
class MyPluginClass {
14-
public function __construct() {
15-
16-
}
17-
}
4+
# How to use
5+
In PHP scope write `wp_` and find snippet you want to use. Each snippet is class-based, so it cannot be used outside of class (e.g. in functions.php).
186

19-
new MyPluginClass();
20-
}
21-
```
22-
##wp_add_menu_page
23-
Snippet for creating menu
24-
```
25-
// Put this into your __construct function
26-
add_action('admin_menu', array($this, 'add_menu_slug_menu_page'));
27-
28-
public function add_menu_slug_menu_page() {
29-
add_menu_page('Page title', 'Menu title', 'manage_options', 'menu_slug', array($this, 'menu_slug_menu_callback'), 'dashicons-icon', 0);
30-
}
31-
32-
public function menu_slug_menu_callback() {
33-
// Content goes here
34-
35-
}
36-
```
37-
##wp_add_submenu_page
38-
Snippet for creating submenu
39-
```
40-
// Put this into your __construct function
41-
add_action('admin_menu', array($this, 'add_submenu_slug_submenu_page'));
42-
43-
public function add_submenu_slug_submenu_page() {
44-
add_submenu_page('parent_slug', 'Page title', 'Menu title', 'manage_options', 'submenu_slug', array($this, 'submenu_slug_menu_callback'));
45-
}
46-
47-
public function submenu_slug_submenu_callback() {
48-
// Content goes here
49-
50-
}
51-
```
52-
##wp_add_menu_with_submenu
53-
Snippet for creating menu with one submenu
54-
```
55-
// Put this into your __construct function
56-
add_action('admin_menu', array($this, 'add_menu_slug_menu_with_submenu_page'));
57-
58-
public function add_menu_slug_menu_with_submenu_page() {
59-
add_menu_page('Page title', 'Menu title', 'manage_options', 'menu_slug', array($this, 'menu_slug_menu_callback'), 'dashicons-icon', 0);
60-
add_submenu_page('menu_slug', 'Page title', 'Menu title', 'manage_options', 'menu_slug', array($this, 'menu_slug_menu_callback'));
61-
add_submenu_page('menu_slug', 'Page title', 'Submenu title', 'manage_options', 'submenu_slug', array($this, 'menu_slug_submenu_callback'));
62-
}
63-
64-
public function menu_slug_menu_callback() {
65-
// Menu content goes here
66-
67-
}
68-
69-
public function menu_slug_submenu_callback() {
70-
// Submenu content goes here
71-
}
72-
```
73-
##wp_add_meta_box
74-
Snippet for creating metabox with callback and save function
75-
```
76-
// Put this into your __construct function
77-
add_action('add_meta_boxes', array($this, 'add_mymetaboxname_metabox'));
78-
add_action('save_post_post_type_slug', array($this, 'save_mymetaboxname_metabox_data'));
79-
80-
public function add_mymetaboxname_metabox {
81-
add_meta_box('mymetaboxname', 'Title', array($this, 'mymetaboxname_metabox_callback'), 'post_type_slug', 'normal', 'low');
82-
}
83-
84-
public function mymetaboxname_metabox_callback($post) { ?>
85-
<label>Enter your first name:</label>
86-
<input type="text" name="mymetaboxname[first_name]" />
87-
<label>Enter your last name:</label>
88-
<input type="text" name="mymetaboxname[last_name]" />
89-
<?php }
90-
91-
public function save_mymetaboxname_metabox_data($post_id) {
92-
if (!isset($_POST['mymetaboxname'])) {
93-
return $post_id;
94-
}
95-
96-
foreach ($_POST['mymetaboxname'] as $key => $field) {
97-
update_post_meta($post_id, $key, $field);
98-
}
99-
}
100-
```
7+
# List of snippets
8+
- wp_plugin_wrapper - class-based wrapper for plugin development
9+
- wp_meta_box - adds meta box for post type with callback
10+
- wp_menu_page - adds menu in admin dashboard with callback
11+
- wp_submenu_page - adds submenu in admin dashboard with callback
12+
- wp_enqueue_scripts - adds action and one line of script
13+
- wp_enqueue_script - adds one line of script

add_menu_with_submenu.sublime-snippet

Lines changed: 0 additions & 23 deletions
This file was deleted.

create_plugin.sublime-snippet

Lines changed: 0 additions & 21 deletions
This file was deleted.

enqueue_script.sublime-snippet

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<snippet>
2+
<content><![CDATA[
3+
wp_enqueue_script('${1:handle_name}', '${2:source}'${3:, ${4:array('${5:jquery}')}}${6:, '${7:version}'}${8:, ${9:false}});
4+
]]></content>
5+
<tabTrigger>wp_enqueue_script</tabTrigger>
6+
<scope>source.php</scope>
7+
</snippet>

enqueue_scripts.sublime-snippet

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<snippet>
2+
<content><![CDATA[
3+
${11:add_action('wp_enqueue_scripts', array(\$this, '${1:enqueue_scripts}'));}}
4+
5+
public function $1() {
6+
wp_enqueue_script('${2:handle_name}', '${3:source}'${4:, ${5:array('${6:jquery}')}}${7:, '${8:version}'}${9:, ${10:false}});
7+
}
8+
]]></content>
9+
<tabTrigger>wp_enqueue_scripts</tabTrigger>
10+
<scope>source.php</scope>
11+
</snippet>
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
<snippet>
22
<content><![CDATA[
3-
// Put this into your __construct function
4-
add_action('admin_menu', array(\$this, 'add_${1:menu_slug}_menu_page'));
3+
${7:// Put this into your __construct function
4+
add_action('admin_menu', array(\$this, 'add_${1:menu_slug}_menu_page'));}
55
66
public function add_$1_menu_page() {
77
add_menu_page('${2:Page title}', '${3:Menu title}', '${4:manage_options}', '$1', array(\$this, '$1_menu_callback'), 'dashicons-${5:icon}', ${6:0});
88
}
99
1010
public function $1_menu_callback() {
11-
// Content goes here
12-
$0
11+
${0:// Content goes here}
1312
}
1413
]]></content>
15-
<tabTrigger>wp_add_menu_page</tabTrigger>
14+
<tabTrigger>wp_menu_page</tabTrigger>
1615
<scope>source.php</scope>
1716
</snippet>
Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
<snippet>
22
<content><![CDATA[
3-
// Put this into your __construct function
3+
${13:// Put this into your __construct function
44
add_action('add_meta_boxes', array(\$this, 'add_$1_metabox'));
5-
add_action('save_post_$4', array(\$this, 'save_$1_metabox_data'));
5+
add_action('save_post${8:_${7:post_type_slug}}', array(\$this, 'save_$1_metabox_data'));}
66
7-
public function add_${1:mymetaboxname}_metabox {
8-
add_meta_box('$1', '${2:Title}', array(\$this, '$1_metabox_callback'), '${4:post_type_slug}', '${5:normal}', '${6:low}');
7+
public function add_${1:mymetaboxname}_metabox() {
8+
add_meta_box('${2:$1}', ${3:__('${4:Title}'${5:, '${6:domain-name}'})}, array(\$this, '$1_metabox_callback'), '$7', '${9:normal}', '${10:low}');
99
}
1010
1111
public function $1_metabox_callback(\$post) { ?>
12-
${7:<label>Enter your first name:</label>
12+
${11:<label>Enter your first name:</label>
1313
<input type="text" name="$1[first_name]" />
1414
<label>Enter your last name:</label>
1515
<input type="text" name="$1[last_name]" />}
16-
<?php }
16+
<?php
17+
${0:// content goes here}
18+
}
1719
1820
public function save_$1_metabox_data(\$post_id) {
19-
${8:if (!isset(\$_POST['$1'])) {
21+
${12:if (!isset(\$_POST['$1'])) {
2022
return \$post_id;
2123
\}
2224
@@ -25,6 +27,6 @@ public function save_$1_metabox_data(\$post_id) {
2527
\}}
2628
}
2729
]]></content>
28-
<tabTrigger>wp_add_meta_box</tabTrigger>
30+
<tabTrigger>wp_meta_box</tabTrigger>
2931
<scope>source.php</scope>
3032
</snippet>

plugin_wrapper.sublime-snippet

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<snippet>
2+
<content><![CDATA[
3+
/* Plugin Name: ${1:My new plugin}
4+
* Plugin URI: ${2:http://example.com}
5+
* Description: ${3:Description}
6+
* Version: ${4:1.0}
7+
* Author: ${5:Me}${6:
8+
* Author URI: ${7:http://example.com}}${8:
9+
* Text Domain: ${9:text-domain}}${10:
10+
* Domain Path: ${11:domain-path}}${12:
11+
* Network: ${13:network}}
12+
*/
13+
14+
if (!class_exists('${14:MyPluginClass}')) {
15+
class $14 {
16+
public function __construct() {
17+
$0
18+
}
19+
}
20+
21+
new $14();
22+
}
23+
]]></content>
24+
<tabTrigger>wp_plugin_wrapper</tabTrigger>
25+
<scope>source.php</scope>
26+
</snippet>
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
<snippet>
22
<content><![CDATA[
3-
// Put this into your __construct function
4-
add_action('admin_menu', array(\$this, 'add_${1:submenu_slug}_submenu_page'));
3+
${6:// Put this into your __construct function
4+
add_action('admin_menu', array(\$this, 'add_${1:submenu_slug}_submenu_page'));}
55
66
public function add_$1_submenu_page() {
77
add_submenu_page('${2:parent_slug}', '${3:Page title}', '${4:Menu title}', '${5:manage_options}', '$1', array(\$this, '$1_menu_callback'));
88
}
99
1010
public function $1_submenu_callback() {
11-
// Content goes here
12-
$0
11+
${0:// Content goes here}
1312
}
1413
]]></content>
15-
<tabTrigger>wp_add_submenu_page</tabTrigger>
14+
<tabTrigger>wp_submenu_page</tabTrigger>
1615
<scope>source.php</scope>
1716
</snippet>

0 commit comments

Comments
 (0)