Hardcoding Images in a WordPress Theme Using the bloginfo() Function

If you are creating a WordPress theme and you need to code in an image, you may notice that you need an absolute path rather than a relative one. If you are confused on the difference between the two:

A relative image path

<img src = 'images/picture.jpg' alt = 'Picture' />

An absolute path

<img src = 'http://www.buckleupstudios.com/wp-content/themes/themeFolder/images/picture.jpg' alt = 'Picture' />

WordPress page templates need an absolute link. You can hardcode the whole absolute link, but that gets tedious and can break your code if you ever have to change your file structure. The best bet is to use the bloginfo(‘template_directory’); function to do it for you.

bloginfo(‘template_directory’); is a PHP function that inserts the path to your template directory. Therefore, <?php bloginfo(‘template_directory’);?> equals “http://www.buckleupstudios.com/wp-content/themes/themeFolder” after PHP does its magic.

So for example, if you code…

&lt;img src = '&lt;?php bloginfo('template_directory'); ?&gt;/images/picture.jpg' alt = 'Picture' /&gt;

…it will dynamically hardcode an image into your WordPress theme! You can also use this function for linking things like your stylesheet and javascript in the <head> of your file as well.

Check out the WordPress Codex on bloginfo(); for more great uses.

4 Comments

LEAVE A COMMENT
  • hello,
    i have used exactly this function… and i’m searching for a way to hyperlink the image to an external website,
    would you know how to do this ?
    thanks in advance,

    Reply

    Hi Miah,

    Just wrap the image in a link tag:

  • Thanks so much!! Searched for this for days!!!

    Reply

    Thanks Greg, glad I could help!

Leave A Reply

Comment