1

I can't believe I did not find the right function for this: I just want to retrieve the blog index url from a template.

My homepage is a static page. I am not looking for bloginfo('url') because it gives me my root url (/). I am looking for mysite.com/Blog

I am thinking about getting it via get_permalink($mypageid) but it is a bit dirty.

3 Answers 3

4

if you are referring to the 'posts page' as set under dashboard - settings - reading:

<?php 
if( get_option( 'page_for_posts' ) ) { 
  echo get_permalink( get_option( 'page_for_posts' ) ); 
} else { 
  echo home_url(); 
} 
?>
0
0

<?php echo home_url(); ?> <-- Set in Settings > General > WordPress address

<?php echo site_url(); ?> <-- Set in Settings > General > Site address

2
  • Hello. Thank you for answering but both snippets you gave link to the site home, not the blog home. Commented Jun 6, 2013 at 9:32
  • So set it to whatever you need it to be in your General Settings page. Commented Jun 6, 2013 at 9:36
0

To get the Blog URL you can use the below code.

get_permalink( get_option( 'page_for_posts' ) );

If you are using WordPress 4.5+ then you can use the below code which will work for any post type.

get_post_type_archive_link( 'post' );

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.