jrobinsonc
11/1/2014 - 7:03 AM

Wordpress shortcode: get_url - Return an absolute URL.

Wordpress shortcode: get_url - Return an absolute URL.

<?php

/**
 * Return an absolute URL.
 * 
 * Usage:
 *  [get_url page=<page id>] 
 *  
 *  or 
 * 
 *  [get_url path=<path>]
 *  <path> can be: uploads, theme or site.
 *  
 * @author JoseRobinson.com
 * @link https://gist.github.com/jrobinsonc/51f22866552407df7aa1
 */
function get_url_shortcode($attrs) 
{
    if (isset($attrs['page']))
    {
        $url = get_page_uri($attrs['page']);
    }
    elseif (isset($attrs['path']))
    {
        switch ($attrs['path']) 
        {
            case 'uploads':
                $upload_dir = wp_upload_dir();
                $url = $upload_dir['baseurl'];
                break;

            case 'theme':
                $url = get_template_directory_uri();
                break;

            case 'site':
                $url = get_bloginfo('url');
                break;
        }
    }
    
    return isset($url)? $url : '';
}

add_shortcode('get_url', 'get_url_shortcode');