Skip to content

Commit dccadf3

Browse files
committedFeb 18, 2016
Add WordPress default scripts
1 parent 93fc0b9 commit dccadf3

File tree

4 files changed

+96
-44
lines changed

4 files changed

+96
-44
lines changed
 

‎enqueue.php

+69-43
Original file line numberDiff line numberDiff line change
@@ -5,68 +5,77 @@ function enqueue_frontend() {
55

66
$scripts = $wpenq->get_option_map('scripts');
77
if ($scripts) {
8+
$default_scripts = WP_Enqueue_Helper::get_default_scripts();
89
$index = 0;
910

1011
foreach ((array)$scripts as $key => $values) {
1112
foreach ((array)$values as $value) {
1213

13-
$value = WP_Enqueue_Helper::get_full_url($value);
1414
if ($key != 'admin') $index++; // admin scripts don't affect counter
15-
if ($key == 'head') wp_enqueue_script("wpenq-script-$index", $value);
16-
if ($key == 'home' && is_home()) wp_enqueue_script("wpenq-script-$index", $value);
17-
if ($key == 'page' && is_page()) wp_enqueue_script("wpenq-script-$index", $value);
18-
if ($key == 'single' && is_single()) wp_enqueue_script("wpenq-script-$index", $value);
19-
if ($key == 'archive' && is_archive()) wp_enqueue_script("wpenq-script-$index", $value);
20-
if ($key == 'category' && is_category()) wp_enqueue_script("wpenq-script-$index", $value);
21-
if ($key == 'footer') wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
15+
16+
if (in_array($value, $default_scripts)) {
17+
$handle = $value;
18+
$value = false;
19+
} else {
20+
$handle = "wpenq-script-$index";
21+
$value = WP_Enqueue_Helper::get_full_url($value);
22+
}
23+
24+
if ($key == 'head') wp_enqueue_script($handle, $value);
25+
if ($key == 'home' && is_home()) wp_enqueue_script($handle, $value);
26+
if ($key == 'page' && is_page()) wp_enqueue_script($handle, $value);
27+
if ($key == 'single' && is_single()) wp_enqueue_script($handle, $value);
28+
if ($key == 'archive' && is_archive()) wp_enqueue_script($handle, $value);
29+
if ($key == 'category' && is_category()) wp_enqueue_script($handle, $value);
30+
if ($key == 'footer') wp_enqueue_script($handle, $value, false, false, true);
2231

2332
$condition = explode(' ', $key);
2433
if (count($condition) >= 2) {
2534
if (strcasecmp($condition[0], 'page') === 0) {
2635
if (strcasecmp($condition[1], 'footer') === 0) {
27-
if (is_page()) wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
36+
if (is_page()) wp_enqueue_script($handle, $value, false, false, true);
2837
} elseif (is_page($condition[1])) {
2938
if (isset($condition[2]) && $condition[2] == 'footer') {
30-
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
39+
wp_enqueue_script($handle, $value, false, false, true);
3140
} else {
32-
wp_enqueue_script("wpenq-script-$index", $value);
41+
wp_enqueue_script($handle, $value);
3342
}
3443
}
3544
} elseif (strcasecmp($condition[0], 'single') === 0) {
3645
if (strcasecmp($condition[1], 'footer') === 0) {
37-
if (is_single()) wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
46+
if (is_single()) wp_enqueue_script($handle, $value, false, false, true);
3847
} elseif (is_single($condition[1])) {
3948
if (isset($condition[2]) && $condition[2] == 'footer') {
40-
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
49+
wp_enqueue_script($handle, $value, false, false, true);
4150
} else {
42-
wp_enqueue_script("wpenq-script-$index", $value);
51+
wp_enqueue_script($handle, $value);
4352
}
4453
}
4554
} elseif (strcasecmp($condition[0], 'category') === 0) {
4655
if (strcasecmp($condition[1], 'footer') === 0) {
47-
if (is_category()) wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
56+
if (is_category()) wp_enqueue_script($handle, $value, false, false, true);
4857
} elseif (is_category($condition[1])) {
4958
if (isset($condition[2]) && $condition[2] == 'footer') {
50-
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
59+
wp_enqueue_script($handle, $value, false, false, true);
5160
} else {
52-
wp_enqueue_script("wpenq-script-$index", $value);
61+
wp_enqueue_script($handle, $value);
5362
}
5463
}
5564
} elseif (strcasecmp($condition[0], 'home') === 0) {
5665
if (strcasecmp($condition[1], 'footer') === 0 && is_home()) {
57-
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
66+
wp_enqueue_script($handle, $value, false, false, true);
5867
}
5968
} elseif (strcasecmp($condition[0], 'archive') === 0) {
6069
if (strcasecmp($condition[1], 'footer') === 0 && is_archive()) {
61-
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
70+
wp_enqueue_script($handle, $value, false, false, true);
6271
}
6372
} elseif (strcasecmp($condition[0], 'IE') === 0) {
6473
if (isset($condition[2]) && $condition[2] == 'footer') {
65-
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
74+
wp_enqueue_script($handle, $value, false, false, true);
6675
} else {
67-
wp_enqueue_script("wpenq-script-$index", $value);
76+
wp_enqueue_script($handle, $value);
6877
}
69-
wp_script_add_data("wpenq-script-$index",
78+
wp_script_add_data($handle,
7079
'conditional', 'lt ' . $condition[0] . ' ' . $condition[1]);
7180
}
7281
}
@@ -83,32 +92,35 @@ function enqueue_frontend() {
8392
foreach ((array)$styles as $key => $values) {
8493
foreach ((array)$values as $value) {
8594

86-
$value = WP_Enqueue_Helper::get_full_url($value);
8795
if ($key != 'admin') $index++; // admin styles don't affect counter
88-
if ($key == 'head') wp_enqueue_style("wpenq-style-$index", $value);
89-
if ($key == 'home' && is_home()) wp_enqueue_style("wpenq-style-$index", $value);
90-
if ($key == 'page' && is_page()) wp_enqueue_style("wpenq-style-$index", $value);
91-
if ($key == 'single' && is_single()) wp_enqueue_style("wpenq-style-$index", $value);
92-
if ($key == 'archive' && is_archive()) wp_enqueue_style("wpenq-style-$index", $value);
93-
if ($key == 'category' && is_category()) wp_enqueue_style("wpenq-style-$index", $value);
96+
97+
$handle = "wpenq-style-$index";
98+
$value = WP_Enqueue_Helper::get_full_url($value);
99+
100+
if ($key == 'head') wp_enqueue_style($handle, $value);
101+
if ($key == 'home' && is_home()) wp_enqueue_style($handle, $value);
102+
if ($key == 'page' && is_page()) wp_enqueue_style($handle, $value);
103+
if ($key == 'single' && is_single()) wp_enqueue_style($handle, $value);
104+
if ($key == 'archive' && is_archive()) wp_enqueue_style($handle, $value);
105+
if ($key == 'category' && is_category()) wp_enqueue_style($handle, $value);
94106

95107
$condition = explode(' ', $key);
96108
if (count($condition) >= 2) {
97109
if (strcasecmp($condition[0], 'page') === 0) {
98110
if (is_page($condition[1])) {
99-
wp_enqueue_style("wpenq-style-$index", $value);
111+
wp_enqueue_style($handle, $value);
100112
}
101113
} elseif (strcasecmp($condition[0], 'single') === 0) {
102114
if (is_single($condition[1])) {
103-
wp_enqueue_style("wpenq-style-$index", $value);
115+
wp_enqueue_style($handle, $value);
104116
}
105117
} elseif (strcasecmp($condition[0], 'category') === 0) {
106118
if (is_category($condition[1])) {
107-
wp_enqueue_style("wpenq-style-$index", $value);
119+
wp_enqueue_style($handle, $value);
108120
}
109121
} elseif (strcasecmp($condition[0], 'IE') === 0) {
110-
wp_enqueue_style("wpenq-style-$index", $value);
111-
wp_style_add_data("wpenq-style-$index",
122+
wp_enqueue_style($handle, $value);
123+
wp_style_add_data($handle,
112124
'conditional', 'lt ' . $condition[0] . ' ' . $condition[1]);
113125
}
114126
}
@@ -122,24 +134,34 @@ function enqueue_frontend() {
122134
function enqueue_admin() {
123135
global $wpenq;
124136

125-
if ($scripts = $wpenq->get_option_map('scripts')) {
137+
$scripts = $wpenq->get_option_map('scripts');
138+
if ($scripts) {
139+
$default_scripts = WP_Enqueue_Helper::get_default_scripts();
126140
$index = 0;
127141

128142
foreach ((array)$scripts as $key => $values) {
129143
foreach ((array)$values as $value) {
130144

131-
$value = WP_Enqueue_Helper::get_full_url($value);
145+
// increment only for admin scripts
146+
if (mb_stripos($value, 'admin') === 0) $index++;
147+
148+
if (in_array($value, $default_scripts)) {
149+
$handle = $value;
150+
$value = false;
151+
} else {
152+
$handle = "wpenq-admin-script-$index";
153+
$value = WP_Enqueue_Helper::get_full_url($value);
154+
}
155+
132156
if ($key == 'admin') {
133-
$index++; // increment only for admin scripts
134-
wp_enqueue_script("wpenq-admin-script-$index", $value);
157+
wp_enqueue_script($handle, $value);
135158
}
136159

137160
$condition = explode(' ', $key);
138161
if (count($condition) >= 2) {
139162
if (strcasecmp($condition[0], 'admin') === 0) {
140163
if (strcasecmp($condition[1], 'footer') === 0) {
141-
$index++; // increment only for admin scripts
142-
wp_enqueue_script("wpenq-admin-script-$index", $value, false, false, true);
164+
wp_enqueue_script($handle, $value, false, false, true);
143165
}
144166
}
145167
}
@@ -149,16 +171,20 @@ function enqueue_admin() {
149171

150172
}
151173

152-
if ($styles = $wpenq->get_option_map('styles')) {
174+
$styles = $wpenq->get_option_map('styles');
175+
if ($styles) {
153176
$index = 0;
154177

155178
foreach ((array)$styles as $key => $values) {
156179
foreach ((array)$values as $value) {
157180

158-
$value = WP_Enqueue_Helper::get_full_url($value);
159181
if ($key == 'admin') {
160182
$index++; // increment only for admin styles
161-
wp_enqueue_style("wpenq-admin-style-$index", $value);
183+
184+
$handle = "wpenq-admin-style-$index";
185+
$value = WP_Enqueue_Helper::get_full_url($value);
186+
187+
wp_enqueue_style($handle, $value);
162188
}
163189

164190
}

‎helper.php

+12
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ class WP_Enqueue_Helper {
44

55
private static $theme_url;
66
private static $plugin_url;
7+
private static $default_scripts;
78

89
public static function init() {
910
self::$theme_url = get_template_directory_uri();
@@ -104,6 +105,14 @@ public static function get_full_url($value) {
104105
}
105106
}
106107

108+
public static function set_default_scripts($scripts) {
109+
self::$default_scripts = $scripts;
110+
}
111+
112+
public static function get_default_scripts() {
113+
return self::$default_scripts;
114+
}
115+
107116
// recursive glob function
108117
private static function rglob($pattern, $flags = 0) {
109118
$files = glob($pattern, $flags);
@@ -113,8 +122,11 @@ private static function rglob($pattern, $flags = 0) {
113122
return $files;
114123
}
115124
}
125+
116126
// static variables init
117127
WP_Enqueue_Helper::init();
128+
include_once('templates/default_scripts.php');
129+
WP_Enqueue_Helper::set_default_scripts($default_scripts);
118130

119131
// enqueue plugin assets
120132
function plugin_assets($hook) {

‎readme.txt

+8-1
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,11 @@ It has never been so easy before!
2929
== Screenshots ==
3030
1. WP Enqueue Option Menu
3131
2. WP Enqueue Scripts
32-
3. WP Enqueue Styles
32+
3. WP Enqueue Styles
33+
34+
== Changelog ==
35+
= 1.1.0 =
36+
* Add WordPress default scripts.
37+
38+
= 1.0.0 =
39+
* Initial version.

‎templates/default_scripts.php

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
/**
4+
* Default Scripts Included and Registered by WordPress
5+
* https://developer.wordpress.org/reference/functions/wp_enqueue_script/
6+
*/
7+
$default_scripts = array('jcrop', 'swfobject', 'swfupload', 'swfupload-degrade', 'swfupload-queue', 'swfupload-handlers', 'jquery', 'jquery-form', 'jquery-color', 'jquery-masonry', 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-mouse', 'jquery-ui-accordion', 'jquery-ui-autocomplete', 'jquery-ui-slider', 'jquery-ui-progressbar', 'jquery-ui-tabs', 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-selectable', 'jquery-ui-position', 'jquery-ui-datepicker', 'jquery-ui-tooltip', 'jquery-ui-resizable', 'jquery-ui-dialog', 'jquery-ui-button', 'jquery-effects-core', 'jquery-effects-blind', 'jquery-effects-bounce', 'jquery-effects-clip', 'jquery-effects-drop', 'jquery-effects-explode', 'jquery-effects-fade', 'jquery-effects-fold', 'jquery-effects-highlight', 'jquery-effects-pulsate', 'jquery-effects-scale', 'jquery-effects-shake', 'jquery-effects-slide', 'jquery-effects-transfer', 'wp-mediaelement', 'schedule', 'suggest', 'thickbox', 'hoverIntent', 'jquery-hotkeys', 'sack', 'quicktags', 'iris', 'farbtastic', 'colorpicker', 'tiny_mce', 'autosave', 'wp-ajax-response', 'wp-lists', 'common', 'editorremov', 'editor-functions', 'ajaxcat', 'admin-categories', 'admin-tags', 'admin-custom-fields', 'password-strength-meter', 'admin-comments', 'admin-users', 'admin-forms', 'xfn', 'upload', 'postbox', 'slug', 'post', 'page', 'link', 'comment', 'comment-reply', 'admin-gallery', 'media-upload', 'admin-widgets', 'word-count', 'theme-preview', 'json2', 'plupload', 'plupload-all', 'plupload-html4', 'plupload-html5', 'plupload-flash', 'plupload-silverlight', 'underscore', 'backbone');

0 commit comments

Comments
 (0)
Please sign in to comment.