Can I get a “base URL” in WordPress within a template file?

Usually in my PHP apps I have a base URL setup so I can do things like this

<a href="<?php echo BASE_URL; ?>tom/jones">Tom</a>

Then I can move my site from development to production and swap it easily and have the change go site wide (and it seems more reliable than <base href="" />.

Read More

I’m doing up a WordPress theme, and I am wondering, does WordPress have anything like this built in, or do I need to redefine my own?

I can see ABSPATH, but that is the absolute file path in the file system, not something from the document root.

Related posts

Leave a Reply

5 comments

  1. get_bloginfo('wpurl'); would be the preferred method of getting the base url of your WordPress installation. This always returns the absolute base url for the install where as get_bloginfo('url'); is for the actual blog address of your WordPress install.

  2. Yes, you can use get_bloginfo('url') just like that or define a constant…

    define('BASE_URL', get_bloginfo('url'));
    

    If you are working on a template and want the URL fragment to that theme folder, use…

    bloginfo('template_directory'); 
    
  3. Yes you can get “base URL” with a simple function.

    <?php echo get_bloginfo('url') ?>
    

    after that with / you can reach to any page just type the page name.

  4. You can use the built in wordpress function site_url() which retrieves the URL for the current site.

    Take a look at site_url for more details.

    EX:

    <a href="<?php echo site_url('tom/jones'); ?>">Tom</a>