WP_Styles::do_item() – Processes a style dependency.

You appear to be a bot. Output may be restricted

Description

Processes a style dependency.

Usage

$bool = WP_Styles::do_item( $handle, $group );

Parameters

$handle
( string ) required – The style's registered handle.
$group
( int|false ) optional – Optional. Group level: level (int), no groups (false). Default false.

Returns

bool True on success, false on failure.

Source

File name: wordpress/wp-includes/class-wp-styles.php


Lines:

1 to 100 of 149
  public function do_item( $handle, $group = false ) {
    if ( ! parent::do_item( $handle ) ) {
      return false;
    }

    $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 = "<!--[if {$conditional}]>\n";
      $cond_after  = "<![endif]-->\n";
    }

    $inline_style = $this->WP_Styles::print_inline_style( $handle, false );

    if ( $inline_style ) {
      $inline_style_tag = sprintf(
        "<style id='%s-inline-css'%s>\n%s\n</style>\n",
        esc_attr( $handle ),
        $this->type_attr,
        $inline_style
      );
    } else {
      $inline_style_tag = '';
    }

    if ( $this->do_concat ) {
      if ( $this->WP_Styles::in_default_dir( $src ) && ! $conditional && ! isset( $obj->extra['alt'] ) ) {
        $this->concat         .= "$handle,";
        $this->concat_version .= "$handle$ver";

        $this->print_code .= $inline_style;

        return true;
      }
    }

    if ( isset( $obj->args ) ) {
      $media = esc_attr( $obj->args );
    } else {
      $media = 'all';
    }

    // A single item may alias a set of items, by having dependencies, but no source.
    if ( ! $src ) {
      if ( $inline_style_tag ) {
        if ( $this->do_concat ) {
          $this->print_html .= $inline_style_tag;
        } else {
          echo $inline_style_tag;
        }
      }

      return true;
    }

    $href = $this->WP_Styles::_css_href( $src, $ver, $handle );
    if ( ! $href ) {
      return true;
    }

    $rel   = isset( $obj->extra['alt'] ) && $obj->extra['alt'] ? 'alternate stylesheet' : 'stylesheet';
    $title = isset( $obj->extra['title'] ) ? sprintf( " title='%s'", esc_attr( $obj->extra['title'] ) ) : '';

    $tag = sprintf(
      "<link rel='%s' id='%s-css'%s href='%s'%s media='%s' />\n",
      $rel,
      $handle,
      $title,
      $href,
      $this->type_attr,
      $media
    );

    
/**
 * Filters the HTML link tag of an enqueued style.
 *
 * @since 2.6.0
 * @since 4.3.0 Introduced the `$href` parameter.
 * @since 4.5.0 Introduced the `$media` parameter.
 *
 * @param string $tag    The link tag for the enqueued style.
 * @param string $handle The style's registered handle.
 * @param string $href   The stylesheet's source URL.
 * @param string $media  The stylesheet's media attribute.
 */

 View on GitHub View on Trac