Hi I am trying to link to some custom templates I have created and I don't seem to know how to do it the right way.For example:

I have created a custom contact page and named it contact.php.From the front-page I want to link to it.Now this is what I did but I don't think this is the best way:

<a href="<?php bloginfo('url') ?>/contact">

Now this works but only if the permalinks are set in the settings page to postname.If for example the page is set to default the links shows the 404.php.

How can I set the links the right way?

I noticed that when creating custom post types there is a way to rewrite the permalinks and define a slug for the new page.Is there a similar way to rewrite permalinks for custom templates?

1 Answer 1


You'll want to use the get_permalink function like so:

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

Which will return the correct URL no matter what your permalink settings are.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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