Get WordPress Page permalinks in template files using Page ID, Name or Slug

In some WordPress theme customizations, I want to get page permalinks for different pages in template files. We can use WordPress default functions, get_page_link() & get_permalink() in such situations.

WordPress page URL using Page ID

<a href="<?php echo get_page_link(Page ID); ?>">Page Title</a>

Example:

<a href="<?php echo get_page_link(40); ?>">Events</a>

WordPress page URL using Page Title

<a href="<?php echo get_permalink( get_page_by_title( 'Page Title' ) ); ?>">Page Title</a>

Example:

<a href="<?php echo get_permalink( get_page_by_title( 'Events' ) ); ?>">Events</a>

WordPress page URL using Page slug

<a href="<?php echo get_permalink( get_page_by_path( 'Page slug' ) ); ?>">Page Title</a>

Example:

<a href="<?php echo get_permalink( get_page_by_path( 'events' ) ); ?>">Events</a>

WordPress page URL of Hierarchical Pages using Page slug.

If we have a page in hierarchy, we want to pass the full slug including the parent to the get_page_by_path function.

<a href="<?php echo get_permalink( get_page_by_path( 'Parent Page slug/child Page slug' ) ); ?>">Page Title</a>

Example:

Now we have a child page called “Parties” with a parent page called “Events”.

<a href="<?php echo get_permalink( get_page_by_path( 'events/parties' ) ); ?>">Parties</a>

Need Help?

Do you need any help on WordPress? I'm happy to help you.

Contact Me

Recent Posts

  1. Update query order - WordPress
  2. Display featured products - WooCommerce
  3. Remove "Category:", "Tag:", "Author:" from the_archive_title - WordPress
  4. The essential & basic WP-CLI commands for a WordPress developer
  5. Install theme unit test data using WP-CLI - WordPress


Questions / Comments

If you found this article interesting, found errors, or just want to discuss about them, please get in touch.