Created
April 9, 2017 00:32
-
-
Save cre8tivediva/3a3e7a4e1b364d92f9fe02aec0994dfd to your computer and use it in GitHub Desktop.
Add Simple Product CPT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Register Custom Post Type | |
function products_post_type() { | |
$labels = array( | |
'name' => _x( 'Products', 'Post Type General Name', 'text_domain' ), | |
'singular_name' => _x( 'Product', 'Post Type Singular Name', 'text_domain' ), | |
'menu_name' => __( 'Products', 'text_domain' ), | |
'name_admin_bar' => __( 'Product', 'text_domain' ), | |
'archives' => __( 'Item Archives', 'text_domain' ), | |
'attributes' => __( 'Item Attributes', 'text_domain' ), | |
'parent_item_colon' => __( 'Parent Product:', 'text_domain' ), | |
'all_items' => __( 'All Products', 'text_domain' ), | |
'add_new_item' => __( 'Add New Product', 'text_domain' ), | |
'add_new' => __( 'New Product', 'text_domain' ), | |
'new_item' => __( 'New Item', 'text_domain' ), | |
'edit_item' => __( 'Edit Product', 'text_domain' ), | |
'update_item' => __( 'Update Product', 'text_domain' ), | |
'view_item' => __( 'View Product', 'text_domain' ), | |
'view_items' => __( 'View Items', 'text_domain' ), | |
'search_items' => __( 'Search products', 'text_domain' ), | |
'not_found' => __( 'No products found', 'text_domain' ), | |
'not_found_in_trash' => __( 'No products found in Trash', 'text_domain' ), | |
'featured_image' => __( 'Featured Image', 'text_domain' ), | |
'set_featured_image' => __( 'Set featured image', 'text_domain' ), | |
'remove_featured_image' => __( 'Remove featured image', 'text_domain' ), | |
'use_featured_image' => __( 'Use as featured image', 'text_domain' ), | |
'insert_into_item' => __( 'Insert into item', 'text_domain' ), | |
'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ), | |
'items_list' => __( 'Items list', 'text_domain' ), | |
'items_list_navigation' => __( 'Items list navigation', 'text_domain' ), | |
'filter_items_list' => __( 'Filter items list', 'text_domain' ), | |
); | |
$args = array( | |
'label' => __( 'Product', 'text_domain' ), | |
'description' => __( 'Product information pages.', 'text_domain' ), | |
'labels' => $labels, | |
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'custom-fields', ), | |
'taxonomies' => array( 'product-type' ), | |
'hierarchical' => false, | |
'has_archive' => true, | |
'public' => true, | |
'show_ui' => true, | |
'show_in_menu' => true, | |
'menu_position' => 5, | |
'show_in_admin_bar' => true, | |
'show_in_nav_menus' => true, | |
'can_export' => true, | |
'has_archive' => true, | |
'exclude_from_search' => false, | |
'publicly_queryable' => true, | |
'capability_type' => 'page', | |
); | |
register_post_type( 'product', $args ); | |
} | |
add_action( 'init', 'products_post_type', 0 ); | |
add_filter( 'genesis_site_layout', 'themeprefix_cpt_layout' ); | |
// Force a layout | |
function themeprefix_cpt_layout() { | |
if( 'product' == get_post_type() ) { | |
return 'full-width-content'; | |
} | |
} | |
//* Add Portfolio Type Taxonomy to columns | |
add_filter( 'manage_taxonomies_for_product_columns', 'product_columns' ); | |
function product_columns( $taxonomies ) { | |
$taxonomies[] = 'product-type'; | |
return $taxonomies; | |
} | |
//* Create ProductType custom taxonomy | |
add_action( 'init', 'c8d_product_type_taxonomy' ); | |
function c8d_product_type_taxonomy() { | |
register_taxonomy( 'product-type', 'product', | |
array( | |
'labels' => array( | |
'name' => _x( 'Types', 'taxonomy general name', 'bloom' ), | |
'add_new_item' => __( 'Add New Product Type', 'bloom' ), | |
'new_item_name' => __( 'New Product Type', 'bloom' ), | |
), | |
'exclude_from_search' => true, | |
'has_archive' => true, | |
'hierarchical' => true, | |
'rewrite' => array( 'slug' => 'product-type', 'with_front' => false ), | |
'show_ui' => true, | |
'show_tagcloud' => false, | |
) | |
); | |
} | |
// Add support for Layouts to a CPT's single entries | |
add_post_type_support( 'product', 'genesis-layouts' ); | |
// Add Archive Settings option to Portfolio CPT | |
add_post_type_support( 'product', 'genesis-cpt-archives-settings' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment