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;
 }
 /**
  * Test placing of jQuery in footer.
  *
  * @ticket 25247
  */
 function test_jquery_in_footer()
 {
     $scripts = new WP_Scripts();
     $scripts->add('jquery', false, array('jquery-core', 'jquery-migrate'));
     $scripts->add('jquery-core', '/jquery.js', array());
     $scripts->add('jquery-migrate', '/jquery-migrate.js', array());
     $scripts->enqueue('jquery');
     $jquery = $scripts->query('jquery');
     $jquery->add_data('group', 1);
     foreach ($jquery->deps as $dep) {
         $scripts->add_data($dep, 'group', 1);
     }
     $this->expectOutputRegex('/^(?:<script[^>]+><\\/script>\\n){2}$/');
     $scripts->do_items(false, 0);
     $this->assertNotContains('jquery', $scripts->done);
     $this->assertNotContains('jquery-core', $scripts->done, 'jquery-core should be in footer but is in head');
     $this->assertNotContains('jquery-migrate', $scripts->done, 'jquery-migrate should be in footer but is in head');
     $scripts->do_items(false, 1);
     $this->assertContains('jquery', $scripts->done);
     $this->assertContains('jquery-core', $scripts->done, 'jquery-core in footer');
     $this->assertContains('jquery-migrate', $scripts->done, 'jquery-migrate in footer');
 }
/**
 * Check whether script has been added to WordPress Scripts.
 *
 * By default, checks if the script has been enqueued. You can also
 * pass 'registered' to $list, to see if the script is registered,
 * and you can check processing statuses with 'to_do' and 'done'.
 *
 * @since WP unknown; BP unknown
 *
 * @param string $handle Name of the script.
 * @param string $list Optional. Defaults to 'enqueued'. Values are
 * 	'registered', 'enqueued' (or 'queue'), 'to_do', and 'done'.
 * @return bool Whether script is in the list.
 */
function wp_script_is($handle, $list = 'enqueued')
{
    global $wp_scripts;
    if (!is_a($wp_scripts, 'WP_Scripts')) {
        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_scripts = new WP_Scripts();
    }
    return (bool) $wp_scripts->query($handle, $list);
}
Beispiel #4
0
 /**
  * Register additional jQuery UI scripts
  *
  * Never call this manually unless you really know what you are doing!
  *
  * @internal
  */
 public function register_ui_scripts()
 {
     global $wp_scripts;
     if (!$wp_scripts instanceof WP_Scripts) {
         $wp_scripts = new WP_Scripts();
     }
     $deps_c = array('jquery-ui-core');
     $deps_cw = array_merge($deps_c, array('jquery-ui-widget'));
     $deps_cwm = array_merge($deps_cw, array('jquery-ui-mouse'));
     $deps_cwp = array_merge($deps_cw, array('jquery-ui-position'));
     $jui = array('jquery-ui-accordion' => array('src' => 'jquery.ui.accordion.min.js', 'deps' => $deps_cw), 'jquery-ui-autocomplete' => array('src' => 'jquery.ui.autocomplete.min.js', 'deps' => $deps_cwp), 'jquery-ui-datepicker' => array('src' => 'jquery.ui.datepicker.min.js', 'deps' => $deps_c), 'jquery-ui-progressbar' => array('src' => 'jquery.ui.progressbar.min.js', 'deps' => $deps_cw), 'jquery-ui-slider' => array('src' => 'jquery.ui.slider.min.js', 'deps' => $deps_cwm));
     // register more scripts
     foreach ($jui as $handle => $cfg) {
         // make sure not registered already
         if (!$wp_scripts->query($handle)) {
             // register it
             $wp_scripts->add($handle, ICE_JS_URL . '/' . $cfg['src'], $cfg['deps'], '1.8.12');
             // put in footer group
             $wp_scripts->add_data($handle, 'group', 1);
         }
     }
 }