forked from WordPress/wordpress-develop
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunctions.wp-scripts.php
More file actions
147 lines (130 loc) · 3.73 KB
/
functions.wp-scripts.php
File metadata and controls
147 lines (130 loc) · 3.73 KB
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<?php
/**
* BackPress script procedural API.
*
* @package BackPress
* @since r16
*/
/**
* Prints script tags in document head.
*
* Called by admin-header.php and by wp_head hook. Since it is called by wp_head
* on every page load, the function does not instantiate the WP_Scripts object
* unless script names are explicitly passed. Does make use of already
* instantiated $wp_scripts if present. Use provided wp_print_scripts hook to
* register/enqueue new scripts.
*
* @since r16
* @see WP_Dependencies::print_scripts()
*/
function wp_print_scripts( $handles = false ) {
do_action( 'wp_print_scripts' );
if ( '' === $handles ) // for wp_head
$handles = false;
global $wp_scripts;
if ( !is_a($wp_scripts, 'WP_Scripts') ) {
if ( !$handles )
return array(); // No need to instantiate if nothing's there.
else
$wp_scripts = new WP_Scripts();
}
return $wp_scripts->do_items( $handles );
}
/**
* Register new JavaScript file.
*
* @since r16
* @param string $handle Script name
* @param string $src Script url
* @param array $deps (optional) Array of script names on which this script depends
* @param string|bool $ver (optional) Script version (used for cache busting), set to NULL to disable
* @param bool $in_footer (optional) Whether to enqueue the script before </head> or before </body>
* @return null
*/
function wp_register_script( $handle, $src, $deps = array(), $ver = false, $in_footer = false ) {
global $wp_scripts;
if ( !is_a($wp_scripts, 'WP_Scripts') )
$wp_scripts = new WP_Scripts();
$wp_scripts->add( $handle, $src, $deps, $ver );
if ( $in_footer )
$wp_scripts->add_data( $handle, 'group', 1 );
}
/**
* Localizes a script.
*
* Localizes only if script has already been added.
*
* @since r16
* @see WP_Scripts::localize()
*/
function wp_localize_script( $handle, $object_name, $l10n ) {
global $wp_scripts;
if ( !is_a($wp_scripts, 'WP_Scripts') )
return false;
return $wp_scripts->localize( $handle, $object_name, $l10n );
}
/**
* Remove a registered script.
*
* @since r16
* @see WP_Scripts::remove() For parameter information.
*/
function wp_deregister_script( $handle ) {
global $wp_scripts;
if ( !is_a($wp_scripts, 'WP_Scripts') )
$wp_scripts = new WP_Scripts();
$wp_scripts->remove( $handle );
}
/**
* Enqueues script.
*
* Registers the script if src provided (does NOT overwrite) and enqueues.
*
* @since r16
* @see wp_register_script() For parameter information.
*/
function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false, $in_footer = false ) {
global $wp_scripts;
if ( !is_a($wp_scripts, 'WP_Scripts') )
$wp_scripts = new WP_Scripts();
if ( $src ) {
$_handle = explode('?', $handle);
$wp_scripts->add( $_handle[0], $src, $deps, $ver );
if ( $in_footer )
$wp_scripts->add_data( $_handle[0], 'group', 1 );
}
$wp_scripts->enqueue( $handle );
}
/**
* Remove an enqueued script.
*
* @since WP 3.1
* @see WP_Scripts::dequeue() For parameter information.
*/
function wp_dequeue_script( $handle ) {
global $wp_scripts;
if ( !is_a($wp_scripts, 'WP_Scripts') )
$wp_scripts = new WP_Scripts();
$wp_scripts->dequeue( $handle );
}
/**
* Check whether script has been added to WordPress Scripts.
*
* The values for list defaults to 'queue', which is the same as enqueue for
* scripts.
*
* @since WP unknown; BP unknown
*
* @param string $handle Handle used to add script.
* @param string $list Optional, defaults to 'queue'. Others values are 'registered', 'queue', 'done', 'to_do'
* @return bool
*/
function wp_script_is( $handle, $list = 'queue' ) {
global $wp_scripts;
if ( !is_a($wp_scripts, 'WP_Scripts') )
$wp_scripts = new WP_Scripts();
$query = $wp_scripts->query( $handle, $list );
if ( is_object( $query ) )
return true;
return $query;
}