Post Type Generator

Overview

Use this tool to create custom code for Post Types with register_post_type() function.

Usage

  • Fill in the user-friendly form.
  • Click the “Update Code” button.
  • Copy the code to your project.
  • Or save it as a snippet and share with the community.

Examples

If you are still learning how to use this tool, check out the following examples:

The function used in the code.
Add Child Themes Support.
Translation file Text Domain. Optional.
Key used in the code. Up to 20 characters, lowercase, no spaces.
A short descriptive summary of the post type.
Post type singular name. e.g. Product, Event or Movie.
Post type plural name. e.g. Products, Events or Movies.
Comma separated list of Taxonomies.
Hierarchical post types allows descendants.
Enables post type export.
Enables post type archives. Post type key is used as defauly archive slug.
Set custom archive slug.
Show post type in the admin UI.
Show post type UI in the admin.
Show post type in admin sidebar.
Show post type in admin bar.
Show post type in Navigation Menus.
Direct query variable used in WP_Query. e.g. WP_Query( array( 'post_type' => 'product', 'term' => 'disk' ) )
Enable front end queries as part of parse_request().
Custom query variable.
Set user capabilities to manage post type.
Used as a base to construct capabilities.
Whether to add the post type route in the REST API 'wp/v2' namespace.
To change the base url of REST API route. Default is the post type key.
REST API Controller class name. Default is 'WP_REST_Posts_Controller'.
  Save Snippet
if ( ! function_exists('infx_register_gallery_entry_post_type') ) {

// Register Custom Post Type
function infx_register_gallery_entry_post_type() {

	$labels = array(
		'name'                  => _x( 'Gallery Entries', 'Post Type General Name', 'infx-child-theme' ),
		'singular_name'         => _x( 'Gallery Entry', 'Post Type Singular Name', 'infx-child-theme' ),
		'menu_name'             => __( 'Gallery Entries', 'infx-child-theme' ),
		'name_admin_bar'        => __( 'Gallery Entries', 'infx-child-theme' ),
		'archives'              => __( 'Gallery Entry Archives', 'infx-child-theme' ),
		'attributes'            => __( 'Gallery Entry Attributes', 'infx-child-theme' ),
		'parent_item_colon'     => __( 'Parent Gallery Entry:', 'infx-child-theme' ),
		'all_items'             => __( 'All Gallery Entries', 'infx-child-theme' ),
		'add_new_item'          => __( 'Add New Gallery Entry', 'infx-child-theme' ),
		'add_new'               => __( 'Add New', 'infx-child-theme' ),
		'new_item'              => __( 'New Gallery Entry', 'infx-child-theme' ),
		'edit_item'             => __( 'Edit Gallery Entry', 'infx-child-theme' ),
		'update_item'           => __( 'Update Gallery Entry', 'infx-child-theme' ),
		'view_item'             => __( 'View Gallery Entry', 'infx-child-theme' ),
		'view_items'            => __( 'View Gallery Entries', 'infx-child-theme' ),
		'search_items'          => __( 'Search Gallery Entry', 'infx-child-theme' ),
		'not_found'             => __( 'Not found', 'infx-child-theme' ),
		'not_found_in_trash'    => __( 'Not found in Trash', 'infx-child-theme' ),
		'featured_image'        => __( 'Featured Gallery Entry Image', 'infx-child-theme' ),
		'set_featured_image'    => __( 'Set gallery image', 'infx-child-theme' ),
		'remove_featured_image' => __( 'Remove gallery image', 'infx-child-theme' ),
		'use_featured_image'    => __( 'Use as gallery image', 'infx-child-theme' ),
		'insert_into_item'      => __( 'Insert into gallery entry', 'infx-child-theme' ),
		'uploaded_to_this_item' => __( 'Uploaded to this gallery entry', 'infx-child-theme' ),
		'items_list'            => __( 'Gallery entries list', 'infx-child-theme' ),
		'items_list_navigation' => __( 'Gallery entries list navigation', 'infx-child-theme' ),
		'filter_items_list'     => __( 'Filter gallery entries list', 'infx-child-theme' ),
	);
	$args = array(
		'label'                 => __( 'Gallery Entry', 'infx-child-theme' ),
		'description'           => __( 'These are for single gallery entries for specific items such as a BBQ, fireplace, water feature, etc. Do not use for project portfolios or virtual tours.', 'infx-child-theme' ),
		'labels'                => $labels,
		'supports'              => array( 'title', 'editor', 'thumbnail' ),
		'taxonomies'            => array( 'gallery_categories', ' gallery_tags' ),
		'hierarchical'          => false,
		'public'                => true,
		'show_ui'               => true,
		'show_in_menu'          => true,
		'menu_position'         => 25,
		'menu_icon'             => 'dashicons-camera',
		'show_in_admin_bar'     => true,
		'show_in_nav_menus'     => true,
		'can_export'            => true,
		'has_archive'           => 'gallery',
		'exclude_from_search'   => false,
		'publicly_queryable'    => true,
		'capability_type'       => 'page',
		'show_in_rest'          => true,
	);
	register_post_type( 'gallery_entry', $args );

}
add_action( 'init', 'infx_register_gallery_entry_post_type', 0 );

}