What's the difference between home_url() and get_home_url() from a developmental point of view?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/348227

  •  17-04-2021
  •  | 
  •  

Question

Both functions return the website url.

And, as home_url() needs sanitization (for example <?php echo esc_url( home_url( '/' ) ); ?>), why it is this snippet of code, instead of <?php echo get_ home_url( '/' ); ?>, that we found in Wordpress Codex and Wordpress Template Twenty Nineteen ?

Was it helpful?

Solution

There isn't much difference but they are not the same.

get_home_url

get_home_url() takes null or a blog id as the first parameter. As per documentation here.

get_home_url( int $blog_id = null, string $path = '', string|null $scheme = null )

If you are dealing with multiple homes (as in, say a multi-site set up) this might be useful.

home_url

home_url(), on the other hand, is less fussed about per blog settings and just wants the home URL. As per documentation here.

home_url( string $path = '', string|null $scheme = null )

It is the equivalent of calling get_home_url( null, $path, $scheme );. Most of the time, this is the function you want.

OTHER TIPS

There is no difference. If you look at wordpress code you will see

function home_url( $path = '', $scheme = null ) {
        return get_home_url( null, $path, $scheme );
}
Licensed under: CC-BY-SA with attribution
Not affiliated with wordpress.stackexchange
scroll top