init(); add_action( 'init', array( $this, 'init' ), 0 ); } public function init() { /** * Fires when the WP_Scripts instance is initialized. * * @since 2.6.0 * * @param WP_Scripts &$this WP_Scripts instance, passed by reference. */ do_action_ref_array( 'wp_default_scripts', array(&$this) ); } /** * Prints scripts. * * Prints the scripts passed to it or the print queue. Also prints all necessary dependencies. * * @param mixed $handles Optional. Scripts to be printed. (void) prints queue, (string) prints * that script, (array of strings) prints those scripts. Default false. * @param int $group Optional. If scripts were queued in groups prints this group number. * Default false. * @return array Scripts that have been printed. */ public function print_scripts( $handles = false, $group = false ) { return $this->do_items( $handles, $group ); } // Deprecated since 3.3, see print_extra_script() public function print_scripts_l10n( $handle, $echo = true ) { _deprecated_function( __FUNCTION__, '3.3', 'print_extra_script()' ); return $this->print_extra_script( $handle, $echo ); } public function print_extra_script( $handle, $echo = true ) { if ( !$output = $this->get_data( $handle, 'data' ) ) return; if ( !$echo ) return $output; echo "\n"; return true; } public function do_item( $handle, $group = false ) { if ( !parent::do_item($handle) ) return false; if ( 0 === $group && $this->groups[$handle] > 0 ) { $this->in_footer[] = $handle; return false; } if ( false === $group && in_array($handle, $this->in_footer, true) ) $this->in_footer = array_diff( $this->in_footer, (array) $handle ); $obj = $this->registered[$handle]; if ( null === $obj->ver ) { $ver = ''; } else { $ver = $obj->ver ? $obj->ver : $this->default_version; } if ( isset($this->args[$handle]) ) $ver = $ver ? $ver . '&' . $this->args[$handle] : $this->args[$handle]; $src = $obj->src; $cond_before = $cond_after = ''; $conditional = isset( $obj->extra['conditional'] ) ? $obj->extra['conditional'] : ''; if ( $conditional ) { $cond_before = "\n"; } if ( $this->do_concat ) { /** * Filter the script loader source. * * @since 2.2.0 * * @param string $src Script loader source path. * @param string $handle Script handle. */ $srce = apply_filters( 'script_loader_src', $src, $handle ); if ( $this->in_default_dir( $srce ) && ! $conditional ) { $this->print_code .= $this->print_extra_script( $handle, false ); $this->concat .= "$handle,"; $this->concat_version .= "$handle$ver"; return true; } else { $this->ext_handles .= "$handle,"; $this->ext_version .= "$handle$ver"; } } $has_conditional_data = $conditional && $this->get_data( $handle, 'data' ); if ( $has_conditional_data ) { echo $cond_before; } $this->print_extra_script( $handle ); if ( $has_conditional_data ) { echo $cond_after; } if ( ! preg_match( '|^(https?:)?//|', $src ) && ! ( $this->content_url && 0 === strpos( $src, $this->content_url ) ) ) { $src = $this->base_url . $src; } if ( ! empty( $ver ) ) $src = add_query_arg( 'ver', $ver, $src ); /** This filter is documented in wp-includes/class.wp-scripts.php */ $src = esc_url( apply_filters( 'script_loader_src', $src, $handle ) ); if ( ! $src ) return true; $tag = "{$cond_before}\n{$cond_after}"; /** * Filter the HTML script tag of an enqueued script. * * @since 4.1.0 * * @param string $tag The `