<?php

/**
* Register Portfolio Custom Post Type
*/

function nb_portfolio() {

    $portfolio_slug = nimbus_option_data('text_portfolioslug') ? nimbus_option_data('text_portfolioslug') : 'portfolio';

    $nb_portfolio_labels = array(
        'name'               => __('Portfolio','nimbus'),
        'singular_name'      => __('Portfolio','nimbus'),
        'add_new'            => __('Add New','nimbus'),
        'add_new_item'       => __('Add New Project','nimbus'),
        'edit_item'          => __('Edit Project','nimbus'),
        'new_item'           => __('New Project','nimbus'),
        'all_items'          => __('All Projects','nimbus'),
        'view_item'          => __('View Project','nimbus'),
        'search_items'       => __('Search Project','nimbus'),
        'not_found'          => __('No projects found','nimbus'),
        'not_found_in_trash' => __('No projects found in Trash','nimbus'),
        'parent_item_colon'  => __('','nimbus'),
        'menu_name'          => __('Portfolio','nimbus')
    );

    $nb_portfolio_args = array(
        'labels'             => $nb_portfolio_labels,
        'public'             => true,
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => $portfolio_slug ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => null,
        'menu_icon'          => 'dashicons-analytics',
        'supports'           => array( 'title', 'editor', 'thumbnail', 'comments' )
    );

    register_post_type( 'portfolio', $nb_portfolio_args );

    // Templates
    $nb_template_labels = array(
        'name'               => __('Template','nimbus'),
        'singular_name'      => __('Template','nimbus'),
        'add_new'            => __('Add New','nimbus'),
        'add_new_item'       => __('Add New Template','nimbus'),
        'edit_item'          => __('Edit Template','nimbus'),
        'new_item'           => __('New Template','nimbus'),
        'all_items'          => __('All Templates','nimbus'),
        'view_item'          => __('View Template','nimbus'),
        'search_items'       => __('Search Template','nimbus'),
        'not_found'          => __('No templates found','nimbus'),
        'not_found_in_trash' => __('No templates found in Trash','nimbus'),
        'parent_item_colon'  => __('','nimbus'),
        'menu_name'          => __('Templates','nimbus')
    );

    $nb_template_args = array(
        'labels'             => $nb_template_labels,
        'public'             => true,
        'publicly_queryable' => false,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'nb_template' ),
        'capability_type'    => 'post',
        'has_archive'        => false,
        'hierarchical'       => false,
        'menu_position'      => null,
        'menu_icon'          => 'dashicons-layout',
        'supports'           => array( 'title', 'editor' )
    );

    register_post_type( 'nb_templates', $nb_template_args );

}
add_action( 'init', 'nb_portfolio' );

/**
* Register Portfolio Taxonomies
*/

function nb_portfolio_taxonomies() {

    $portfolio_cat_slug = nimbus_option_data('text_portfolio_category_slug') ? nimbus_option_data('text_portfolio_category_slug') : 'portfolio_categoy';
    $portfolio_tag_slug = nimbus_option_data('text_portfolio_tag_slug') ? nimbus_option_data('text_portfolio_tag_slug') : 'portfolio_tag';

    // Portfolio categories taxonomy
    $labels = array(
        'name'              => __( 'Categories', 'nimbus' ),
        'singular_name'     => __( 'Category', 'nimbus' ),
        'search_items'      => __( 'Search Categories', 'nimbus' ),
        'all_items'         => __( 'All Categories', 'nimbus' ),
        'parent_item'       => __( 'Parent Category', 'nimbus' ),
        'parent_item_colon' => __( 'Parent Category:', 'nimbus' ),
        'edit_item'         => __( 'Edit Category', 'nimbus' ),
        'update_item'       => __( 'Update Category' , 'nimbus'),
        'add_new_item'      => __( 'Add New Category', 'nimbus' ),
        'new_item_name'     => __( 'New Category Name', 'nimbus' ),
        'menu_name'         => __( 'Category', 'nimbus' ),
    );

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

    register_taxonomy( 'portfolio_category', array( 'portfolio' ), $args );

    // Portfolio tags taxonomy
    $labels = array(
        'name'              => __( 'Tags', 'nimbus' ),
        'singular_name'     => __( 'Tag', 'nimbus' ),
        'search_items'      => __( 'Search Tags', 'nimbus' ),
        'all_items'         => __( 'All Tags', 'nimbus' ),
        'parent_item'       => __( 'Parent Tag', 'nimbus' ),
        'parent_item_colon' => __( 'Parent Tag:', 'nimbus' ),
        'edit_item'         => __( 'Edit Tag', 'nimbus' ),
        'update_item'       => __( 'Update Tag' , 'nimbus'),
        'add_new_item'      => __( 'Add New Tag', 'nimbus' ),
        'new_item_name'     => __( 'New Tag Name', 'nimbus' ),
        'menu_name'         => __( 'Tag', 'nimbus' ),
    );

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

    register_taxonomy( 'portfolio_tag', array( 'portfolio' ), $args );
}

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