Wordpress 2.6.2
[autoinstalls/wordpress.git] / wp-includes / functions.wp-scripts.php
1 <?php
2
3 /**
4  * Prints script tags in document head
5  *
6  * Called by admin-header.php and by wp_head hook. Since it is called by wp_head on every page load,
7  * the function does not instantiate the WP_Scripts object unless script names are explicitly passed.
8  * Does make use of already instantiated $wp_scripts if present.
9  * Use provided wp_print_scripts hook to register/enqueue new scripts.
10  *
11  * @see WP_Scripts::print_scripts()
12  */
13 function wp_print_scripts( $handles = false ) {
14         do_action( 'wp_print_scripts' );
15         if ( '' === $handles ) // for wp_head
16                 $handles = false;
17
18         global $wp_scripts;
19         if ( !is_a($wp_scripts, 'WP_Scripts') ) {
20                 if ( !$handles )
21                         return array(); // No need to instantiate if nothing's there.
22                 else
23                         $wp_scripts = new WP_Scripts();
24         }
25
26         return $wp_scripts->do_items( $handles );
27 }
28
29 function wp_register_script( $handle, $src, $deps = array(), $ver = false ) {
30         global $wp_scripts;
31         if ( !is_a($wp_scripts, 'WP_Scripts') )
32                 $wp_scripts = new WP_Scripts();
33
34         $wp_scripts->add( $handle, $src, $deps, $ver );
35 }
36
37 /**
38  * Localizes a script
39  *
40  * Localizes only if script has already been added
41  *
42  * @see WP_Script::localize()
43  */
44 function wp_localize_script( $handle, $object_name, $l10n ) {
45         global $wp_scripts;
46         if ( !is_a($wp_scripts, 'WP_Scripts') )
47                 return false;
48
49         return $wp_scripts->localize( $handle, $object_name, $l10n );
50 }
51
52 function wp_deregister_script( $handle ) {
53         global $wp_scripts;
54         if ( !is_a($wp_scripts, 'WP_Scripts') )
55                 $wp_scripts = new WP_Scripts();
56
57         $wp_scripts->remove( $handle );
58 }
59
60 /**
61  * Equeues script
62  *
63  * Registers the script if src provided (does NOT overwrite) and enqueues.
64  *
65  * @see WP_Script::add(), WP_Script::enqueue()
66 */
67 function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false ) {
68         global $wp_scripts;
69         if ( !is_a($wp_scripts, 'WP_Scripts') )
70                 $wp_scripts = new WP_Scripts();
71
72         if ( $src ) {
73                 $_handle = explode('?', $handle);
74                 $wp_scripts->add( $_handle[0], $src, $deps, $ver );
75         }
76         $wp_scripts->enqueue( $handle );
77 }