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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
<?php
/**
* BackPress styles procedural API.
*
* @package BackPress
* @since r79
*/
/**
* Display styles that are in the queue or part of $handles.
*
* @since r79
* @uses do_action() Calls 'wp_print_styles' hook.
* @global object $wp_styles The WP_Styles object for printing styles.
*
* @param array|bool $handles Styles to be printed. An empty array prints the queue,
* an array with one string prints that style, and an array of strings prints those styles.
* @return bool True on success, false on failure.
*/
function wp_print_styles( $handles = false ) {
if ( '' === $handles ) // for wp_head
$handles = false;
if ( ! $handles )
do_action( 'wp_print_styles' );
global $wp_styles;
if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' );
if ( !$handles )
return array(); // No need to instantiate if nothing is there.
else
$wp_styles = new WP_Styles();
}
return $wp_styles->do_items( $handles );
}
/**
* Adds extra CSS.
*
* Works only if the stylesheet has already been added.
* Accepts a string $data containing the CSS. If two or more CSS code blocks are
* added to the same stylesheet $handle, they will be printed in the order
* they were added, i.e. the latter added styles can redeclare the previous.
*
* @since 3.3.0
* @see WP_Scripts::add_inline_style()
*/
function wp_add_inline_style( $handle, $data ) {
global $wp_styles;
if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
return $wp_styles->add_inline_style( $handle, $data );
}
/**
* Register CSS style file.
*
* @since r79
* @see WP_Styles::add() For additional information.
* @global object $wp_styles The WP_Styles object for printing styles.
* @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
*
* @param string $handle Name of the stylesheet.
* @param string|bool $src Path to the stylesheet from the root directory of WordPress. Example: '/css/mystyle.css'.
* @param array $deps Array of handles of any stylesheet that this stylesheet depends on.
* (Stylesheets that must be loaded before this stylesheet.) Pass an empty array if there are no dependencies.
* @param string|bool $ver String specifying the stylesheet version number. Set to null to disable.
* Used to ensure that the correct version is sent to the client regardless of caching.
* @param string $media The media for which this stylesheet has been defined.
*/
function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
global $wp_styles;
if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
$wp_styles->add( $handle, $src, $deps, $ver, $media );
}
/**
* Remove a registered CSS file.
*
* @since r79
* @see WP_Styles::remove() For additional information.
* @global object $wp_styles The WP_Styles object for printing styles.
*
* @param string $handle Name of the stylesheet.
*/
function wp_deregister_style( $handle ) {
global $wp_styles;
if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
$wp_styles->remove( $handle );
}
/**
* Enqueue a CSS style file.
*
* Registers the style if src provided (does NOT overwrite) and enqueues.
*
* @since r79
* @see WP_Styles::add(), WP_Styles::enqueue()
* @global object $wp_styles The WP_Styles object for printing styles.
* @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
*
* @param string $handle Name of the stylesheet.
* @param string|bool $src Path to the stylesheet from the root directory of WordPress. Example: '/css/mystyle.css'.
* @param array $deps Array of handles (names) of any stylesheet that this stylesheet depends on.
* (Stylesheets that must be loaded before this stylesheet.) Pass an empty array if there are no dependencies.
* @param string|bool $ver String specifying the stylesheet version number, if it has one. This parameter
* is used to ensure that the correct version is sent to the client regardless of caching, and so should be included
* if a version number is available and makes sense for the stylesheet.
* @param string $media The media for which this stylesheet has been defined.
*/
function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = 'all' ) {
global $wp_styles;
if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
if ( $src ) {
$_handle = explode('?', $handle);
$wp_styles->add( $_handle[0], $src, $deps, $ver, $media );
}
$wp_styles->enqueue( $handle );
}
/**
* Remove an enqueued style.
*
* @since WP 3.1
* @see WP_Styles::dequeue() For parameter information.
*/
function wp_dequeue_style( $handle ) {
global $wp_styles;
if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
$wp_styles->dequeue( $handle );
}
/**
* Check whether style has been added to WordPress Styles.
*
* By default, checks if the style has been enqueued. You can also
* pass 'registered' to $list, to see if the style is registered,
* and you can check processing statuses with 'to_do' and 'done'.
*
* @since WP unknown; BP unknown
* @global object $wp_styles The WP_Styles object for printing styles.
*
* @param string $handle Name of the stylesheet.
* @param string $list Optional. Defaults to 'enqueued'. Values are
* 'registered', 'enqueued' (or 'queue'), 'to_do', and 'done'.
* @return bool Whether style is in the list.
*/
function wp_style_is( $handle, $list = 'enqueued' ) {
global $wp_styles;
if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
if ( ! did_action( 'init' ) )
_doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
'<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>init</code>' ), '3.3' );
$wp_styles = new WP_Styles();
}
return (bool) $wp_styles->query( $handle, $list );
}
|