Wednesday, 16 September 2015

Wordpress Portfolio Post Type


function jdoc_custom_post_type()
{
    $labels = array(
        'name' => 'Portfolio',
        'singular_name' => 'Portfolio',
        'add_new' => 'Add New',
        'add_new_item' => 'Add New Portfolio',
        'edit_item' => 'Edit Portfolio',
        'new_item' => 'New Portfolio',
        'view_item' => 'View Portfolio',
        'search_items' => 'Search Portfolio',
        'not_found' => 'No Portfolio found',
        'not_found_in_trash' => 'No Portfolio in Trash',
        'parent_item_colon' => ''
    );
    $supports = array(
        'title',
        'editor',
        //'author',
        'thumbnail',
        //'comments',
        //'post-formats',
        'custom-fields',
        'excerpt'
    );
    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'rewrite' => array('slug' => 'portfolio'),
        'capability_type' => 'post',
        'has_archive' => false,
        'hierarchical' => false,
        'menu_position' => 5,
        'taxonomies' => array('post_tag', 'portfolio-category'),
        'supports' => $supports
    );
    register_post_type('portfolio', $args);
}

add_action('init', 'jdoc_custom_post_type');

/* * **************************************************************************** */

// create taxonomy, portfolio category for the post type "portfolio"
function create_portfolio_taxonomies()
{
    // Add new taxonomy, make it hierarchical (like categories)
    $labels = array(
        'name' => _x('Portfolio Category', 'taxonomy general name'),
        'singular_name' => _x('Portfolio Category', 'taxonomy singular name'),
        'search_items' => __('Search Portfolio Categories'),
        'all_items' => __('All Portfolio Categories'),
        'parent_item' => __('Parent Portfolio Category'),
        'parent_item_colon' => __('Parent Portfolio Category:'),
        'edit_item' => __('Edit Portfolio Category'),
        'update_item' => __('Update Portfolio Category'),
        'add_new_item' => __('Add New Portfolio Category'),
        'new_item_name' => __('New Portfolio Category Name'),
        'menu_name' => __('Portfolio Category'),
    );

    $args = array(
        'hierarchical' => true,
        'labels' => $labels,
        'show_ui' => true,
        'show_admin_column' => true,
        'query_var' => true,
        'rewrite' => array('slug' => 'portfoliocategory'),
    );

    register_taxonomy('portfolio-category', array('portfolio'), $args);
}

add_action('init', 'create_portfolio_taxonomies', 0);