This code is used to get the directory of the current plugin:
plugin_dir_url( __FILE__ ).
What should I use to get the directory of the current theme?
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
I think you have to be a little careful because it depends on what you are trying to do.
If you are using a child theme
get_template_directory(); will still go to the parent theme. However
get_stylesheet_directory(); will go to the current theme, child or parent. Also, both these functions return absolute server paths.
If you wanted a fully formed URI, for links or images, you should use
get_stylesheet_directory_uri(); using the correct one for the reasons stated.
get_stylesheet_directory(): file path to current Theme directory
get_stylesheet_directory_uri(): url path to current Theme directory
get_template_directory(): file path to parent Theme directory
get_template_directory_uri(): url path to parent Theme directory
get_stylesheet_directory_uri is what you want. it returns the URL of the current theme.
get_stylesheet_directory will return the file path on the server.
<img src="<?php echo get_stylesheet_directory_uri(); ?>/assets/image.png" />
If you need the parent theme,
get_template_directory_uri are the equivalents.
If there is no parent theme then both will return the same value.
- absolute folder path of current theme
- absolute folder path of parent theme
- full URL of current theme
- full URL of parent theme