I have created a post type named 'faq', and a page 'faq' for displaying the posts under faq. Also I have created a page template name faq and selected the faq page's template to this.

Now the problem is the faq page always render default template, which is archive.php or index.php. I tried to change the template name to page-faq.php and page-{page_id}.php but failed to achieve desired result.

Is there any way to override default template in this case if I would not willing to change the page slug or post type.


1 Answer 1


Easy way to achieve this.

register_post_type( 'mypost',
        'has_archive' => false,

After updating this reset the permalinks 'Settings -> Permalink'

  • 2
    Please add an explanation to your answer: why could that solve the problem?
    – fuxia
    Jul 24, 2015 at 10:28
  • Follow the documentation wordpress.org Jul 24, 2015 at 12:35

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.