2 comments

  1. I think there’s no really huge difference, you choose the tool that you feel most comfortable yourself. Plugins have the drawbacks you mentioned, and doing them from scratch can be a bit slow and tedious.

    The 3rd alternative, that I find really good, is a PHP class that does all the heavy lifting for you, but is still light and easy to use, e.g. Easy-WordPress-Custom-Post-Types. This particular class does custom taxonomies and metaboxes also. Very handy. So you’ll eliminate bunch of plugins with one hit.

  2. This really isn’t a good question. But if you’re a developer you really should register your own custom post types in the functions.php file of the theme you’re using.

    look at the template below:

        add_action( 'init', 'register_cpt_[post_name]' );
    function register_cpt_[post_name]() {
    $labels = array(
    'name'               => '[post name]',
    'singular_name'      => '[singular post name]',
    'add_new'            => 'Add New',
    'add_new_item'       => 'Add New [post name]',
    'edit_item'          => 'Edit [post name]',
    'new_item'           => 'New [post name]',
    'all_items'          => 'All [post name]',
    'view_item'          => 'View [post name]',
    'search_items'       => 'Search [post name]',
    'not_found'          => 'No [post name] found',
    'not_found_in_trash' => 'No [post name] in Trash',
    'parent_item_colon'  => '',
    'menu_name'          => '[post name as it will appear in the WP dashboard]'
    );
    
    $args = array(
    'labels'             => $labels,
    'public'             => true,
    'publicly_queryable' => true,
    'show_ui'            => true,
    'show_in_menu'       => true,
    'query_var'          => true,
    'rewrite'            => array( 'slug' => '[post-name]' ),
    'capability_type'    => 'post',
    'has_archive'        => true,
    'hierarchical'       => false,
    'menu_position'      => null,
    'supports'           => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt',     'comments' )
    );
    register_post_type('[post_name]', $args);
    };
    

Comments are closed.