get_stylesheet_directory(): string

Retrieves stylesheet directory path for the active theme.


string Path to active theme’s stylesheet directory.

More Information


function get_stylesheet_directory() {
	global $wp_stylesheet_path;

	if ( null === $wp_stylesheet_path ) {
		$stylesheet     = get_stylesheet();
		$theme_root     = get_theme_root( $stylesheet );
		$stylesheet_dir = "$theme_root/$stylesheet";

		 * Filters the stylesheet directory path for the active theme.
		 * @since 1.5.0
		 * @param string $stylesheet_dir Absolute path to the active theme.
		 * @param string $stylesheet     Directory name of the active theme.
		 * @param string $theme_root     Absolute path to themes directory.
		$stylesheet_dir = apply_filters( 'stylesheet_directory', $stylesheet_dir, $stylesheet, $theme_root );

		// If there are filter callbacks, force the logic to execute on every call.
		if ( has_filter( 'stylesheet' ) || has_filter( 'theme_root' ) || has_filter( 'stylesheet_directory' ) ) {
			return $stylesheet_dir;

		$wp_stylesheet_path = $stylesheet_dir;

	return $wp_stylesheet_path;


apply_filters( ‘stylesheet_directory’, string $stylesheet_dir, string $stylesheet, string $theme_root )

Filters the stylesheet directory path for the active theme.


6.4.0Memoizes filter execution so that it only runs once for the current theme.

User Contributed Notes

  1. Skip to note 5 content

    You can also use the constant “STYLESHEETPATH” in replacement of get_stylesheet_directory()

  2. Skip to note 6 content

    get_stylesheet_directory() retrieves the child-theme’s directory.
    If you want to retrieve the parent-theme’s directory use get_template_directory() instead or even better loacate_template() – This way WordPress automatically uses your child themes directory to look for your resource – if there is a child-theme-file present it will use this one instead. No need for enqueuing anything.

You must log in before being able to contribute a note or feedback.