WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have the following:

register_post_type( 'jobs',
        'labels' => array(
            'name' => __( 'Jobs' ),
            'singular_name' => __( 'Job' )
    'public' => true,
        'show_ui' => true,
    'has_archive' => false,
        'hierarchical' => true,
        'query_var' => true,
        'supports' => array( 'title', 'editor', 'comments', 'trackbacks', 'revisions','author', 'excerpt', 'custom-fields', 'thumbnail', 'page-attribute' ),
    'rewrite' => array('slug' => 'jobs', 'with_front' => true),
        'taxonomies' => array( 'post_tag', 'category'),
        'can_export' => true,
    'show_in_nav_menus' => true,
    //'capabilities' => array(
    //  'read_post' => 'read_jobs'

I tried this: 'has_archive' => false,

But the Jobs custom post type is still using the archive.php template.

Any ideas of what is wrong here?

share|improve this question
up vote 1 down vote accepted

If you are wanting to use a specialized archive template for your custom type, you need an additional archive file. This is named in the form of:

archive-[custom post type name].php

Since your code listing has jobs as the type name, the archive file would be named:


This can resemble the standard archive template, or can be tailored as suits the nature of the custom content type.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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