Skip to content

Commit

Permalink
Add WordPress default scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
boykodev committed Feb 18, 2016
1 parent 93fc0b9 commit dccadf3
Show file tree
Hide file tree
Showing 4 changed files with 96 additions and 44 deletions.
112 changes: 69 additions & 43 deletions enqueue.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,68 +5,77 @@ function enqueue_frontend() {

$scripts = $wpenq->get_option_map('scripts');
if ($scripts) {
$default_scripts = WP_Enqueue_Helper::get_default_scripts();
$index = 0;

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

$value = WP_Enqueue_Helper::get_full_url($value);
if ($key != 'admin') $index++; // admin scripts don't affect counter
if ($key == 'head') wp_enqueue_script("wpenq-script-$index", $value);
if ($key == 'home' && is_home()) wp_enqueue_script("wpenq-script-$index", $value);
if ($key == 'page' && is_page()) wp_enqueue_script("wpenq-script-$index", $value);
if ($key == 'single' && is_single()) wp_enqueue_script("wpenq-script-$index", $value);
if ($key == 'archive' && is_archive()) wp_enqueue_script("wpenq-script-$index", $value);
if ($key == 'category' && is_category()) wp_enqueue_script("wpenq-script-$index", $value);
if ($key == 'footer') wp_enqueue_script("wpenq-script-$index", $value, false, false, true);

if (in_array($value, $default_scripts)) {
$handle = $value;
$value = false;
} else {
$handle = "wpenq-script-$index";
$value = WP_Enqueue_Helper::get_full_url($value);
}

if ($key == 'head') wp_enqueue_script($handle, $value);
if ($key == 'home' && is_home()) wp_enqueue_script($handle, $value);
if ($key == 'page' && is_page()) wp_enqueue_script($handle, $value);
if ($key == 'single' && is_single()) wp_enqueue_script($handle, $value);
if ($key == 'archive' && is_archive()) wp_enqueue_script($handle, $value);
if ($key == 'category' && is_category()) wp_enqueue_script($handle, $value);
if ($key == 'footer') wp_enqueue_script($handle, $value, false, false, true);

$condition = explode(' ', $key);
if (count($condition) >= 2) {
if (strcasecmp($condition[0], 'page') === 0) {
if (strcasecmp($condition[1], 'footer') === 0) {
if (is_page()) wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
if (is_page()) wp_enqueue_script($handle, $value, false, false, true);
} elseif (is_page($condition[1])) {
if (isset($condition[2]) && $condition[2] == 'footer') {
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
wp_enqueue_script($handle, $value, false, false, true);
} else {
wp_enqueue_script("wpenq-script-$index", $value);
wp_enqueue_script($handle, $value);
}
}
} elseif (strcasecmp($condition[0], 'single') === 0) {
if (strcasecmp($condition[1], 'footer') === 0) {
if (is_single()) wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
if (is_single()) wp_enqueue_script($handle, $value, false, false, true);
} elseif (is_single($condition[1])) {
if (isset($condition[2]) && $condition[2] == 'footer') {
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
wp_enqueue_script($handle, $value, false, false, true);
} else {
wp_enqueue_script("wpenq-script-$index", $value);
wp_enqueue_script($handle, $value);
}
}
} elseif (strcasecmp($condition[0], 'category') === 0) {
if (strcasecmp($condition[1], 'footer') === 0) {
if (is_category()) wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
if (is_category()) wp_enqueue_script($handle, $value, false, false, true);
} elseif (is_category($condition[1])) {
if (isset($condition[2]) && $condition[2] == 'footer') {
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
wp_enqueue_script($handle, $value, false, false, true);
} else {
wp_enqueue_script("wpenq-script-$index", $value);
wp_enqueue_script($handle, $value);
}
}
} elseif (strcasecmp($condition[0], 'home') === 0) {
if (strcasecmp($condition[1], 'footer') === 0 && is_home()) {
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
wp_enqueue_script($handle, $value, false, false, true);
}
} elseif (strcasecmp($condition[0], 'archive') === 0) {
if (strcasecmp($condition[1], 'footer') === 0 && is_archive()) {
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
wp_enqueue_script($handle, $value, false, false, true);
}
} elseif (strcasecmp($condition[0], 'IE') === 0) {
if (isset($condition[2]) && $condition[2] == 'footer') {
wp_enqueue_script("wpenq-script-$index", $value, false, false, true);
wp_enqueue_script($handle, $value, false, false, true);
} else {
wp_enqueue_script("wpenq-script-$index", $value);
wp_enqueue_script($handle, $value);
}
wp_script_add_data("wpenq-script-$index",
wp_script_add_data($handle,
'conditional', 'lt ' . $condition[0] . ' ' . $condition[1]);
}
}
Expand All @@ -83,32 +92,35 @@ function enqueue_frontend() {
foreach ((array)$styles as $key => $values) {
foreach ((array)$values as $value) {

$value = WP_Enqueue_Helper::get_full_url($value);
if ($key != 'admin') $index++; // admin styles don't affect counter
if ($key == 'head') wp_enqueue_style("wpenq-style-$index", $value);
if ($key == 'home' && is_home()) wp_enqueue_style("wpenq-style-$index", $value);
if ($key == 'page' && is_page()) wp_enqueue_style("wpenq-style-$index", $value);
if ($key == 'single' && is_single()) wp_enqueue_style("wpenq-style-$index", $value);
if ($key == 'archive' && is_archive()) wp_enqueue_style("wpenq-style-$index", $value);
if ($key == 'category' && is_category()) wp_enqueue_style("wpenq-style-$index", $value);

$handle = "wpenq-style-$index";
$value = WP_Enqueue_Helper::get_full_url($value);

if ($key == 'head') wp_enqueue_style($handle, $value);
if ($key == 'home' && is_home()) wp_enqueue_style($handle, $value);
if ($key == 'page' && is_page()) wp_enqueue_style($handle, $value);
if ($key == 'single' && is_single()) wp_enqueue_style($handle, $value);
if ($key == 'archive' && is_archive()) wp_enqueue_style($handle, $value);
if ($key == 'category' && is_category()) wp_enqueue_style($handle, $value);

$condition = explode(' ', $key);
if (count($condition) >= 2) {
if (strcasecmp($condition[0], 'page') === 0) {
if (is_page($condition[1])) {
wp_enqueue_style("wpenq-style-$index", $value);
wp_enqueue_style($handle, $value);
}
} elseif (strcasecmp($condition[0], 'single') === 0) {
if (is_single($condition[1])) {
wp_enqueue_style("wpenq-style-$index", $value);
wp_enqueue_style($handle, $value);
}
} elseif (strcasecmp($condition[0], 'category') === 0) {
if (is_category($condition[1])) {
wp_enqueue_style("wpenq-style-$index", $value);
wp_enqueue_style($handle, $value);
}
} elseif (strcasecmp($condition[0], 'IE') === 0) {
wp_enqueue_style("wpenq-style-$index", $value);
wp_style_add_data("wpenq-style-$index",
wp_enqueue_style($handle, $value);
wp_style_add_data($handle,
'conditional', 'lt ' . $condition[0] . ' ' . $condition[1]);
}
}
Expand All @@ -122,24 +134,34 @@ function enqueue_frontend() {
function enqueue_admin() {
global $wpenq;

if ($scripts = $wpenq->get_option_map('scripts')) {
$scripts = $wpenq->get_option_map('scripts');
if ($scripts) {
$default_scripts = WP_Enqueue_Helper::get_default_scripts();
$index = 0;

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

$value = WP_Enqueue_Helper::get_full_url($value);
// increment only for admin scripts
if (mb_stripos($value, 'admin') === 0) $index++;

if (in_array($value, $default_scripts)) {
$handle = $value;
$value = false;
} else {
$handle = "wpenq-admin-script-$index";
$value = WP_Enqueue_Helper::get_full_url($value);
}

if ($key == 'admin') {
$index++; // increment only for admin scripts
wp_enqueue_script("wpenq-admin-script-$index", $value);
wp_enqueue_script($handle, $value);
}

$condition = explode(' ', $key);
if (count($condition) >= 2) {
if (strcasecmp($condition[0], 'admin') === 0) {
if (strcasecmp($condition[1], 'footer') === 0) {
$index++; // increment only for admin scripts
wp_enqueue_script("wpenq-admin-script-$index", $value, false, false, true);
wp_enqueue_script($handle, $value, false, false, true);
}
}
}
Expand All @@ -149,16 +171,20 @@ function enqueue_admin() {

}

if ($styles = $wpenq->get_option_map('styles')) {
$styles = $wpenq->get_option_map('styles');
if ($styles) {
$index = 0;

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

$value = WP_Enqueue_Helper::get_full_url($value);
if ($key == 'admin') {
$index++; // increment only for admin styles
wp_enqueue_style("wpenq-admin-style-$index", $value);

$handle = "wpenq-admin-style-$index";
$value = WP_Enqueue_Helper::get_full_url($value);

wp_enqueue_style($handle, $value);
}

}
Expand Down
12 changes: 12 additions & 0 deletions helper.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ class WP_Enqueue_Helper {

private static $theme_url;
private static $plugin_url;
private static $default_scripts;

public static function init() {
self::$theme_url = get_template_directory_uri();
Expand Down Expand Up @@ -104,6 +105,14 @@ public static function get_full_url($value) {
}
}

public static function set_default_scripts($scripts) {
self::$default_scripts = $scripts;
}

public static function get_default_scripts() {
return self::$default_scripts;
}

// recursive glob function
private static function rglob($pattern, $flags = 0) {
$files = glob($pattern, $flags);
Expand All @@ -113,8 +122,11 @@ private static function rglob($pattern, $flags = 0) {
return $files;
}
}

// static variables init
WP_Enqueue_Helper::init();
include_once('templates/default_scripts.php');
WP_Enqueue_Helper::set_default_scripts($default_scripts);

// enqueue plugin assets
function plugin_assets($hook) {
Expand Down
9 changes: 8 additions & 1 deletion readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,11 @@ It has never been so easy before!
== Screenshots ==
1. WP Enqueue Option Menu
2. WP Enqueue Scripts
3. WP Enqueue Styles
3. WP Enqueue Styles

== Changelog ==
= 1.1.0 =
* Add WordPress default scripts.

= 1.0.0 =
* Initial version.
7 changes: 7 additions & 0 deletions templates/default_scripts.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php

/**
* Default Scripts Included and Registered by WordPress
* https://developer.wordpress.org/reference/functions/wp_enqueue_script/
*/
$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 comments on commit dccadf3

Please sign in to comment.