What is difference between get_bloginfo(‘url’) and get_site_url()?

I am developing a plugin.

I want to know difference between

Read More
get_bloginfo('url');  

and

get_site_url();

I got same output, then what’s the difference?

Related posts

Leave a Reply

4 comments

    • get_bloginfo('url') calls home_url() calls get_home_url() reads option home

    • get_bloginfo('wpurl') calls site_url() calls get_site_url() reads option siteurl

    • get_bloginfo('siteurl') and get_bloginfo('home') are deprecated arguments and return get_bloginfo('url') (siteurl argument is documented wrong in Codex as equal to wpurl, it’s not in current code)

    The difference is that these two function chain to different options, which are typically same.

    It would be more appropriate to compare get_bloginfo('url') to get_home_url() or get_bloginfo('wpurl') to get_site_url(). Then the answer is that these functions are on different level in chain. Typically the deeper function is – the more flexible it is and the less filters output passes through.

  1. From ‘wp-includes/general-template.php’

    function get_bloginfo( $show = '', $filter = 'raw' ) {
    
    switch( $show ) {
          case 'home' : // DEPRECATED
          case 'siteurl' : // DEPRECATED
            _deprecated_argument([snipped]);
          case 'url' :
            $output = home_url();
            break;
          case 'wpurl' :
            $output = site_url();
            break;
    

    So:

    • get_bloginfo('home'), get_bloginfo('siteurl') and get_bloginfo('url') are equivalent to calling home_url() (also note that the use of home and siteurl as get_bloginfo parameters is deprecated)
    • get_bloginfo('wpurl') is the same as calling site_url()
  2. IIRC, the primary difference between home_url()/get_site_url() and their get_bloginfo() analogs is that home_url()/get_site_url() return the proper http/https scheme, while get_bloginfo() doesn’t.