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 registered a custom post type called "Services" but when I am giving the single post the template "single-services.php" its not accepting this but choosing the "homepage.php" template can u tell the problem? It is also not taking the "archive-services.php" template but instead using the blog template (index.php)

UPDATE. Here's the code:

add_action('init', 'services_register');
function services_register() {

$labels = array(
    'name' => _x('Services', 'post type general name'),
    'singular_name' => _x('Service', 'post type singular name'),
    'add_new' => _x('Add New', 'service'),
    'add_new_item' => __('Add New Service'),
    'edit_item' => __('Edit Service'),
    'new_item' => __('New Service'),
    'view_item' => __('View Service'),
    'search_items' => __('Search Service'),
    'not_found' =>  __('Nothing found'),
    'not_found_in_trash' => __('Nothing found in Trash'),
    'parent_item_colon' => ''

$args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'query_var' => true,
    'menu_icon' => null,
    'rewrite' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'menu_position' => null,
    'supports' => array('title','editor','thumbnail')

register_post_type( 'services' , $args );
share|improve this question

If you are simply registering a custom post type called 'services" then your register code should look like register_post_type( 'services', $args ); Make sure the word "services" is exact in register_post_type. And Your post_type word should be max. 20 characters, can not contain capital letters or spaces

Also make sure your has_archive parameter is set true like this 'has_archive' => true,

And don't forget to flush the rewrite rule by clicking save in permalink setting in your backend after any change in the slug or permalink.Hope this helps you

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.