hi girll,
First of all add this to your functions.php file:
function my_custom_init() {
$labels = array(
'name' => 'your_post_type_name',
'singular_name' => 'your_post_type_name(in singular)',
'add_new' => 'New your_post_type_name',
'add_new_item' => 'New your_post_type_name',
'edit_item' => 'Edit your_post_type_name',
'new_item' => 'New your_post_type_name',
'all_items' => 'All your_post_type_name',
'view_item' => 'View your_post_type_name',
'search_items' => 'Search your_post_type_name',
'not_found' => 'No your_post_type_name where found',
'not_found_in_trash' => 'No your_post_type_name where found in the trash',
'parent_item_colon' => '',
'menu_name' => 'No your_post_type_name where found'
);
$args= array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'your_post_type_name' ),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 5, //this is the position on your dashboard menu, 5 means under the Post item.
'taxonomies' => array ('post_tag'),
'supports' => array( 'title', 'editor', 'author', 'thumbnail' ) //this ads which features does your post type suports
);
register_post_type( 'your_post_type_name', $args );
}
add_action( 'init', 'my_custom_init' ); //this is an action hook, it says to WP that this function must be executed at 'init'
This will make your post type apear on your admin dashboard.
Then you create a file named single-{your_post_type_name}.php in your template folder.
ie: if your post type name is Book the file should be named single-book.php.
And that would be all. Hope it works for you!
You should also hava a look to the codex, it’s usually really helfull: post types