wp_admin_css

The timeline below displays how wordpress function wp_admin_css has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.3

/**
 * Enqueues or directly prints a stylesheet link to the specified CSS file.
 *
 * "Intelligently" decides to enqueue or to print the CSS file. If the
 * {@see 'wp_print_styles'} action has *not* yet been called, the CSS file will be
 * enqueued. If the {@see 'wp_print_styles'} action has been called, the CSS link will
 * be printed. Printing may be forced by passing true as the $force_echo
 * (second) parameter.
 *
 * For backward compatibility with WordPress 2.3 calling method: If the $file
 * (first) parameter does not correspond to a registered CSS file, we assume
 * $file is a file relative to wp-admin/ without its ".css" extension. A
 * stylesheet link to that generated URL is printed.
 *
 * @since 2.3.0
 *
 * @param string $file       Optional. Style handle name or file name (without ".css" extension) relative
 *                           to wp-admin/. Defaults to 'wp-admin'.
 * @param bool   $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
 */
function wp_admin_css($file = 'wp-admin', $force_echo = false)
{
    // For backward compatibility.
    $handle = str_starts_with($file, 'css/') ? substr($file, 4) : $file;
    if (wp_styles()->query($handle)) {
        if ($force_echo || did_action('wp_print_styles')) {
            // We already printed the style queue. Print this one immediately.
            wp_print_styles($handle);
        } else {
            // Add to style queue.
            wp_enqueue_style($handle);
        }
        return;
    }
    $stylesheet_link = sprintf("<link rel='stylesheet' href='%s' type='text/css' />\n", esc_url(wp_admin_css_uri($file)));
    /**
     * Filters the stylesheet link to the specified CSS file.
     *
     * If the site is set to display right-to-left, the RTL stylesheet link
     * will be used instead.
     *
     * @since 2.3.0
     * @param string $stylesheet_link HTML link element for the stylesheet.
     * @param string $file            Style handle name or filename (without ".css" extension)
     *                                relative to wp-admin/. Defaults to 'wp-admin'.
     */
    echo apply_filters('wp_admin_css', $stylesheet_link, $file);
    if (function_exists('is_rtl') && is_rtl()) {
        $rtl_stylesheet_link = sprintf("<link rel='stylesheet' href='%s' type='text/css' />\n", esc_url(wp_admin_css_uri("{$file}-rtl")));
        /** This filter is documented in wp-includes/general-template.php */
        echo apply_filters('wp_admin_css', $rtl_stylesheet_link, "{$file}-rtl");
    }
}

WordPress Version: 5.3

/**
 * Enqueues or directly prints a stylesheet link to the specified CSS file.
 *
 * "Intelligently" decides to enqueue or to print the CSS file. If the
 * {@see 'wp_print_styles'} action has *not* yet been called, the CSS file will be
 * enqueued. If the {@see 'wp_print_styles'} action has been called, the CSS link will
 * be printed. Printing may be forced by passing true as the $force_echo
 * (second) parameter.
 *
 * For backward compatibility with WordPress 2.3 calling method: If the $file
 * (first) parameter does not correspond to a registered CSS file, we assume
 * $file is a file relative to wp-admin/ without its ".css" extension. A
 * stylesheet link to that generated URL is printed.
 *
 * @since 2.3.0
 *
 * @param string $file       Optional. Style handle name or file name (without ".css" extension) relative
 *                           to wp-admin/. Defaults to 'wp-admin'.
 * @param bool   $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
 */
function wp_admin_css($file = 'wp-admin', $force_echo = false)
{
    // For backward compatibility.
    $handle = (0 === strpos($file, 'css/')) ? substr($file, 4) : $file;
    if (wp_styles()->query($handle)) {
        if ($force_echo || did_action('wp_print_styles')) {
            // We already printed the style queue. Print this one immediately.
            wp_print_styles($handle);
        } else {
            // Add to style queue.
            wp_enqueue_style($handle);
        }
        return;
    }
    $stylesheet_link = sprintf("<link rel='stylesheet' href='%s' type='text/css' />\n", esc_url(wp_admin_css_uri($file)));
    /**
     * Filters the stylesheet link to the specified CSS file.
     *
     * If the site is set to display right-to-left, the RTL stylesheet link
     * will be used instead.
     *
     * @since 2.3.0
     * @param string $stylesheet_link HTML link element for the stylesheet.
     * @param string $file            Style handle name or filename (without ".css" extension)
     *                                relative to wp-admin/. Defaults to 'wp-admin'.
     */
    echo apply_filters('wp_admin_css', $stylesheet_link, $file);
    if (function_exists('is_rtl') && is_rtl()) {
        $rtl_stylesheet_link = sprintf("<link rel='stylesheet' href='%s' type='text/css' />\n", esc_url(wp_admin_css_uri("{$file}-rtl")));
        /** This filter is documented in wp-includes/general-template.php */
        echo apply_filters('wp_admin_css', $rtl_stylesheet_link, "{$file}-rtl");
    }
}

WordPress Version: 5.1

/**
 * Enqueues or directly prints a stylesheet link to the specified CSS file.
 *
 * "Intelligently" decides to enqueue or to print the CSS file. If the
 * {@see 'wp_print_styles'} action has *not* yet been called, the CSS file will be
 * enqueued. If the {@see 'wp_print_styles'} action has been called, the CSS link will
 * be printed. Printing may be forced by passing true as the $force_echo
 * (second) parameter.
 *
 * For backward compatibility with WordPress 2.3 calling method: If the $file
 * (first) parameter does not correspond to a registered CSS file, we assume
 * $file is a file relative to wp-admin/ without its ".css" extension. A
 * stylesheet link to that generated URL is printed.
 *
 * @since 2.3.0
 *
 * @param string $file       Optional. Style handle name or file name (without ".css" extension) relative
 *                           to wp-admin/. Defaults to 'wp-admin'.
 * @param bool   $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
 */
function wp_admin_css($file = 'wp-admin', $force_echo = false)
{
    // For backward compatibility
    $handle = (0 === strpos($file, 'css/')) ? substr($file, 4) : $file;
    if (wp_styles()->query($handle)) {
        if ($force_echo || did_action('wp_print_styles')) {
            // we already printed the style queue. Print this one immediately
            wp_print_styles($handle);
        } else {
            // Add to style queue
            wp_enqueue_style($handle);
        }
        return;
    }
    /**
     * Filters the stylesheet link to the specified CSS file.
     *
     * If the site is set to display right-to-left, the RTL stylesheet link
     * will be used instead.
     *
     * @since 2.3.0
     * @param string $stylesheet_link HTML link element for the stylesheet.
     * @param string $file            Style handle name or filename (without ".css" extension)
     *                                relative to wp-admin/. Defaults to 'wp-admin'.
     */
    echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri($file)) . "' type='text/css' />\n", $file);
    if (function_exists('is_rtl') && is_rtl()) {
        /** This filter is documented in wp-includes/general-template.php */
        echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri("{$file}-rtl")) . "' type='text/css' />\n", "{$file}-rtl");
    }
}

WordPress Version: 4.8

/**
 * Enqueues or directly prints a stylesheet link to the specified CSS file.
 *
 * "Intelligently" decides to enqueue or to print the CSS file. If the
 * {@see 'wp_print_styles'} action has *not* yet been called, the CSS file will be
 * enqueued. If the {@see 'wp_print_styles'} action has been called, the CSS link will
 * be printed. Printing may be forced by passing true as the $force_echo
 * (second) parameter.
 *
 * For backward compatibility with WordPress 2.3 calling method: If the $file
 * (first) parameter does not correspond to a registered CSS file, we assume
 * $file is a file relative to wp-admin/ without its ".css" extension. A
 * stylesheet link to that generated URL is printed.
 *
 * @since 2.3.0
 *
 * @param string $file       Optional. Style handle name or file name (without ".css" extension) relative
 * 	                         to wp-admin/. Defaults to 'wp-admin'.
 * @param bool   $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
 */
function wp_admin_css($file = 'wp-admin', $force_echo = false)
{
    // For backward compatibility
    $handle = (0 === strpos($file, 'css/')) ? substr($file, 4) : $file;
    if (wp_styles()->query($handle)) {
        if ($force_echo || did_action('wp_print_styles')) {
            // we already printed the style queue. Print this one immediately
            wp_print_styles($handle);
        } else {
            // Add to style queue
            wp_enqueue_style($handle);
        }
        return;
    }
    /**
     * Filters the stylesheet link to the specified CSS file.
     *
     * If the site is set to display right-to-left, the RTL stylesheet link
     * will be used instead.
     *
     * @since 2.3.0
     * @param string $stylesheet_link HTML link element for the stylesheet.
     * @param string $file            Style handle name or filename (without ".css" extension)
     *                                relative to wp-admin/. Defaults to 'wp-admin'.
     */
    echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri($file)) . "' type='text/css' />\n", $file);
    if (function_exists('is_rtl') && is_rtl()) {
        /** This filter is documented in wp-includes/general-template.php */
        echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri("{$file}-rtl")) . "' type='text/css' />\n", "{$file}-rtl");
    }
}

WordPress Version: 4.6

/**
 * Enqueues or directly prints a stylesheet link to the specified CSS file.
 *
 * "Intelligently" decides to enqueue or to print the CSS file. If the
 * {@see 'wp_print_styles'} action has *not* yet been called, the CSS file will be
 * enqueued. If the {@see 'wp_print_styles'} action has been called, the CSS link will
 * be printed. Printing may be forced by passing true as the $force_echo
 * (second) parameter.
 *
 * For backward compatibility with WordPress 2.3 calling method: If the $file
 * (first) parameter does not correspond to a registered CSS file, we assume
 * $file is a file relative to wp-admin/ without its ".css" extension. A
 * stylesheet link to that generated URL is printed.
 *
 * @since 2.3.0
 *
 * @param string $file       Optional. Style handle name or file name (without ".css" extension) relative
 * 	                         to wp-admin/. Defaults to 'wp-admin'.
 * @param bool   $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
 */
function wp_admin_css($file = 'wp-admin', $force_echo = false)
{
    // For backward compatibility
    $handle = (0 === strpos($file, 'css/')) ? substr($file, 4) : $file;
    if (wp_styles()->query($handle)) {
        if ($force_echo || did_action('wp_print_styles')) {
            // we already printed the style queue. Print this one immediately
            wp_print_styles($handle);
        } else {
            // Add to style queue
            wp_enqueue_style($handle);
        }
        return;
    }
    /**
     * Filters the stylesheet link to the specified CSS file.
     *
     * If the site is set to display right-to-left, the RTL stylesheet link
     * will be used instead.
     *
     * @since 2.3.0
     *
     * @param string $file Style handle name or filename (without ".css" extension)
     *                     relative to wp-admin/. Defaults to 'wp-admin'.
     */
    echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri($file)) . "' type='text/css' />\n", $file);
    if (function_exists('is_rtl') && is_rtl()) {
        /** This filter is documented in wp-includes/general-template.php */
        echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri("{$file}-rtl")) . "' type='text/css' />\n", "{$file}-rtl");
    }
}

WordPress Version: 4.3

/**
 * Enqueues or directly prints a stylesheet link to the specified CSS file.
 *
 * "Intelligently" decides to enqueue or to print the CSS file. If the
 * 'wp_print_styles' action has *not* yet been called, the CSS file will be
 * enqueued. If the wp_print_styles action *has* been called, the CSS link will
 * be printed. Printing may be forced by passing true as the $force_echo
 * (second) parameter.
 *
 * For backward compatibility with WordPress 2.3 calling method: If the $file
 * (first) parameter does not correspond to a registered CSS file, we assume
 * $file is a file relative to wp-admin/ without its ".css" extension. A
 * stylesheet link to that generated URL is printed.
 *
 * @since 2.3.0
 *
 * @param string $file       Optional. Style handle name or file name (without ".css" extension) relative
 * 	                         to wp-admin/. Defaults to 'wp-admin'.
 * @param bool   $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
 */
function wp_admin_css($file = 'wp-admin', $force_echo = false)
{
    // For backward compatibility
    $handle = (0 === strpos($file, 'css/')) ? substr($file, 4) : $file;
    if (wp_styles()->query($handle)) {
        if ($force_echo || did_action('wp_print_styles')) {
            // we already printed the style queue. Print this one immediately
            wp_print_styles($handle);
        } else {
            // Add to style queue
            wp_enqueue_style($handle);
        }
        return;
    }
    /**
     * Filter the stylesheet link to the specified CSS file.
     *
     * If the site is set to display right-to-left, the RTL stylesheet link
     * will be used instead.
     *
     * @since 2.3.0
     *
     * @param string $file Style handle name or filename (without ".css" extension)
     *                     relative to wp-admin/. Defaults to 'wp-admin'.
     */
    echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri($file)) . "' type='text/css' />\n", $file);
    if (function_exists('is_rtl') && is_rtl()) {
        /** This filter is documented in wp-includes/general-template.php */
        echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri("{$file}-rtl")) . "' type='text/css' />\n", "{$file}-rtl");
    }
}

WordPress Version: 4.2

/**
 * Enqueues or directly prints a stylesheet link to the specified CSS file.
 *
 * "Intelligently" decides to enqueue or to print the CSS file. If the
 * 'wp_print_styles' action has *not* yet been called, the CSS file will be
 * enqueued. If the wp_print_styles action *has* been called, the CSS link will
 * be printed. Printing may be forced by passing true as the $force_echo
 * (second) parameter.
 *
 * For backward compatibility with WordPress 2.3 calling method: If the $file
 * (first) parameter does not correspond to a registered CSS file, we assume
 * $file is a file relative to wp-admin/ without its ".css" extension. A
 * stylesheet link to that generated URL is printed.
 *
 * @since 2.3.0
 * @uses $wp_styles WordPress Styles Object
 *
 * @param string $file Optional. Style handle name or file name (without ".css" extension) relative
 * 	 to wp-admin/. Defaults to 'wp-admin'.
 * @param bool $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
 */
function wp_admin_css($file = 'wp-admin', $force_echo = false)
{
    global $wp_styles;
    if (!$wp_styles instanceof WP_Styles) {
        $wp_styles = new WP_Styles();
    }
    // For backward compatibility
    $handle = (0 === strpos($file, 'css/')) ? substr($file, 4) : $file;
    if ($wp_styles->query($handle)) {
        if ($force_echo || did_action('wp_print_styles')) {
            // we already printed the style queue. Print this one immediately
            wp_print_styles($handle);
        } else {
            // Add to style queue
            wp_enqueue_style($handle);
        }
        return;
    }
    /**
     * Filter the stylesheet link to the specified CSS file.
     *
     * If the site is set to display right-to-left, the RTL stylesheet link
     * will be used instead.
     *
     * @since 2.3.0
     *
     * @param string $file Style handle name or filename (without ".css" extension)
     *                     relative to wp-admin/. Defaults to 'wp-admin'.
     */
    echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri($file)) . "' type='text/css' />\n", $file);
    if (function_exists('is_rtl') && is_rtl()) {
        /** This filter is documented in wp-includes/general-template.php */
        echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri("{$file}-rtl")) . "' type='text/css' />\n", "{$file}-rtl");
    }
}

WordPress Version: 3.9

/**
 * Enqueues or directly prints a stylesheet link to the specified CSS file.
 *
 * "Intelligently" decides to enqueue or to print the CSS file. If the
 * 'wp_print_styles' action has *not* yet been called, the CSS file will be
 * enqueued. If the wp_print_styles action *has* been called, the CSS link will
 * be printed. Printing may be forced by passing true as the $force_echo
 * (second) parameter.
 *
 * For backward compatibility with WordPress 2.3 calling method: If the $file
 * (first) parameter does not correspond to a registered CSS file, we assume
 * $file is a file relative to wp-admin/ without its ".css" extension. A
 * stylesheet link to that generated URL is printed.
 *
 * @since 2.3.0
 * @uses $wp_styles WordPress Styles Object
 *
 * @param string $file Optional. Style handle name or file name (without ".css" extension) relative
 * 	 to wp-admin/. Defaults to 'wp-admin'.
 * @param bool $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
 */
function wp_admin_css($file = 'wp-admin', $force_echo = false)
{
    global $wp_styles;
    if (!is_a($wp_styles, 'WP_Styles')) {
        $wp_styles = new WP_Styles();
    }
    // For backward compatibility
    $handle = (0 === strpos($file, 'css/')) ? substr($file, 4) : $file;
    if ($wp_styles->query($handle)) {
        if ($force_echo || did_action('wp_print_styles')) {
            // we already printed the style queue. Print this one immediately
            wp_print_styles($handle);
        } else {
            // Add to style queue
            wp_enqueue_style($handle);
        }
        return;
    }
    /**
     * Filter the stylesheet link to the specified CSS file.
     *
     * If the site is set to display right-to-left, the RTL stylesheet link
     * will be used instead.
     *
     * @since 2.3.0
     *
     * @param string $file Style handle name or filename (without ".css" extension)
     *                     relative to wp-admin/. Defaults to 'wp-admin'.
     */
    echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri($file)) . "' type='text/css' />\n", $file);
    if (function_exists('is_rtl') && is_rtl()) {
        /** This filter is documented in wp-includes/general-template.php */
        echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri("{$file}-rtl")) . "' type='text/css' />\n", "{$file}-rtl");
    }
}

WordPress Version: 3.7

/**
 * Enqueues or directly prints a stylesheet link to the specified CSS file.
 *
 * "Intelligently" decides to enqueue or to print the CSS file. If the
 * 'wp_print_styles' action has *not* yet been called, the CSS file will be
 * enqueued. If the wp_print_styles action *has* been called, the CSS link will
 * be printed. Printing may be forced by passing true as the $force_echo
 * (second) parameter.
 *
 * For backward compatibility with WordPress 2.3 calling method: If the $file
 * (first) parameter does not correspond to a registered CSS file, we assume
 * $file is a file relative to wp-admin/ without its ".css" extension. A
 * stylesheet link to that generated URL is printed.
 *
 * @package WordPress
 * @since 2.3.0
 * @uses $wp_styles WordPress Styles Object
 *
 * @param string $file Optional. Style handle name or file name (without ".css" extension) relative
 * 	 to wp-admin/. Defaults to 'wp-admin'.
 * @param bool $force_echo Optional. Force the stylesheet link to be printed rather than enqueued.
 */
function wp_admin_css($file = 'wp-admin', $force_echo = false)
{
    global $wp_styles;
    if (!is_a($wp_styles, 'WP_Styles')) {
        $wp_styles = new WP_Styles();
    }
    // For backward compatibility
    $handle = (0 === strpos($file, 'css/')) ? substr($file, 4) : $file;
    if ($wp_styles->query($handle)) {
        if ($force_echo || did_action('wp_print_styles')) {
            // we already printed the style queue. Print this one immediately
            wp_print_styles($handle);
        } else {
            // Add to style queue
            wp_enqueue_style($handle);
        }
        return;
    }
    echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri($file)) . "' type='text/css' />\n", $file);
    if (function_exists('is_rtl') && is_rtl()) {
        echo apply_filters('wp_admin_css', "<link rel='stylesheet' href='" . esc_url(wp_admin_css_uri("{$file}-rtl")) . "' type='text/css' />\n", "{$file}-rtl");
    }
}