+
+
+ get_text_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'name',
+ 'textvalue' => ( isset( $current['name'] ) ) ? esc_attr( $current['name'] ) : '',
+ 'maxlength' => '20',
+ 'onblur' => 'this.value=this.value.toLowerCase()',
+ 'labeltext' => __( 'Post Type Slug', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(e.g. movie)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'The post type name. Used to retrieve custom post type content. Should be short and unique', 'custom-post-type-ui'),
+ 'required' => true
+ ) );
+
+ /*
+ * Post Label
+ */
+ echo $ui->get_text_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'label',
+ 'textvalue' => ( isset( $current['label'] ) ) ? esc_attr( $current['label'] ) : '',
+ 'labeltext' => __( 'Plural Label', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(e.g. Movies)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ ) );
+
+ /*
+ * Post Singular Slug
+ */
+ echo $ui->get_text_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'singular_label',
+ 'textvalue' => ( isset( $current['singular_label'] ) ) ? esc_attr( $current['singular_label'] ) : '',
+ 'labeltext' => __( 'Singular Label', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(e.g. Movie)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Custom Post Type Singular label. Used in WordPress when a singular label is needed.', 'custom-post-type-ui' ),
+ ) );
+
+ /*
+ * Post Description
+ */
+ if ( isset( $current['description'] ) ) {
+ $current['description'] = stripslashes_deep( $current['description'] );
+ }
+
+ echo $ui->get_textarea_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'description',
+ 'rows' => '4',
+ 'cols' => '40',
+ 'textvalue' => ( isset( $current['description'] ) ) ? esc_textarea( $current['description'] ) : '',
+ 'labeltext' => __('Description', 'custom-post-type-ui'),
+ 'helptext' => esc_attr__( 'Custom Post Type Description. Describe what your custom post type is used for.', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * Migrate posts
+ */
+ if ( 'edit' == $tab ) {
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'update_post_types',
+ 'checked' => 'false',
+ 'name' => 'update_post_types',
+ 'namearray' => 'update_post_types',
+ 'labeltext' => __( 'Migrate posts to newly renamed post type?', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Check this to migrate posts if and when renaming your post type.', 'custom-post-type-ui' ),
+ 'default' => false
+ ) );
+ }
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ' . sprintf( __( 'Post Type names should have %smax 20 characters%s, and only contain alphanumeric, lowercase characters, underscores in place of spaces and letters that do not have accents. Reserved names: post, page, attachment, revision, nav_menu_item.', 'custom-post-type-ui' ), '', '' );
+ echo '- ' . sprintf( __( 'If you are unfamiliar with the advanced post type settings, just fill in the %sPost Type Name%s and %sLabel%s fields. Remaining settings will use default values. Labels, if left blank, will be automatically created based on the post type name. Hover over the question mark for more details.', 'custom-post-type-ui' ), '', '', '', '' );
+ echo '
- ' . sprintf( __( 'Deleting custom post types will %sNOT%s delete any content into the database or added to those post types. You can easily recreate your post types and the content will still exist.', 'custom-post-type-ui' ), '', '' ); ?>
+
+
+ |
+
+
+
+
+
+ get_text_input( array(
+ 'labeltext' => __( 'Menu Name', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Custom menu name for your custom post type.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'menu_name',
+ 'textvalue' => ( isset( $current['labels']['menu_name'] ) ) ? esc_attr( $current['labels']['menu_name'] ) : '',
+ 'aftertext' => __( '(e.g. My Movies)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * Post All Items
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'All Items', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'all_items',
+ 'textvalue' => ( isset( $current['labels']['all_items'] ) ) ? esc_attr( $current['labels']['all_items'] ) : '',
+ 'aftertext' => __( '(e.g. All Movies)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * Add New Label
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'Add New', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'add_new',
+ 'textvalue' => ( isset( $current['labels']['add_new'] ) ) ? esc_attr( $current['labels']['add_new'] ) : '',
+ 'aftertext' => __( '(e.g. Add New)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * Add New Item Label
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'Add New Item', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'add_new_item',
+ 'textvalue' => ( isset( $current['labels']['add_new_item'] ) ) ? esc_attr( $current['labels']['add_new_item'] ) : '',
+ 'aftertext' => __( '(e.g. Add New Movie)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * Edit Label
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'Edit', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'edit',
+ 'textvalue' => ( isset( $current['labels']['edit'] ) ) ? esc_attr( $current['labels']['edit'] ) : '',
+ 'aftertext' => __( '(e.g. Edit)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * Edit Item Label
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'Edit Item', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'edit_item',
+ 'textvalue' => ( isset( $current['labels']['edit_item'] ) ) ? esc_attr( $current['labels']['edit_item'] ) : '',
+ 'aftertext' => __( '(e.g. Edit Movie)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * New Item Label
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'New Item', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'new_item',
+ 'textvalue' => ( isset( $current['labels']['new_item'] ) ) ? esc_attr( $current['labels']['new_item'] ) : '',
+ 'aftertext' => __( '(e.g. New Movie)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * View Label
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'View', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'view',
+ 'textvalue' => ( isset( $current['labels']['view'] ) ) ? esc_attr( $current['labels']['view'] ) : '',
+ 'aftertext' => __( '(e.g. View)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * View Item Label
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'View Item', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'view_item',
+ 'textvalue' => ( isset( $current['labels']['view_item'] ) ) ? esc_attr( $current['labels']['view_item'] ) : '',
+ 'aftertext' => __( '(e.g. View Movie)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * Search Item Label
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'Search Item', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'search_items',
+ 'textvalue' => ( isset( $current['labels']['search_items'] ) ) ? esc_attr( $current['labels']['search_items'] ) : '',
+ 'aftertext' => __( '(e.g. Search Movie)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * Not Found Label
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'Not Found', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'not_found',
+ 'textvalue' => ( isset( $current['labels']['not_found'] ) ) ? esc_attr( $current['labels']['not_found'] ) : '',
+ 'aftertext' => __( '(e.g. No Movies found)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * Not Found In Trash Label
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'Not Found in Trash', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'not_found_in_trash',
+ 'textvalue' => ( isset( $current['labels']['not_found_in_trash'] ) ) ? esc_attr( $current['labels']['not_found_in_trash'] ) : '',
+ 'aftertext' => __( '(e.g. No Movies found in Trash)', 'custom-post-type-ui' )
+ ) );
+
+ /*
+ * Parent Label
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'Parent', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Post type label. Used in the admin menu for displaying post types.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_labels',
+ 'name' => 'parent',
+ 'textvalue' => ( isset( $current['labels']['parent'] ) ) ? esc_attr( $current['labels']['parent'] ) : '',
+ 'aftertext' => __( '(e.g. Parent Movie)', 'custom-post-type-ui' )
+ ) );
+ ?>
+
+
+
+
+
+ array(
+ array( 'attr' => '0', 'text' => __( 'False', 'custom-post-type-ui' ) ),
+ array( 'attr' => '1', 'text' => __( 'True', 'custom-post-type-ui' ), 'default' => 'true' )
+ )
+ );
+ $selected = ( isset( $current ) ) ? disp_boolean( $current['public'] ) : '';
+ $select['selected'] = ( !empty( $selected ) ) ? $current['public'] : '';
+ echo $ui->get_select_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'public',
+ 'labeltext' => __( 'Public', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(CPTUI default: True.)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'WordPress core defaults to false. CPTUI defaults to true for user sake. Whether posts of this type should be shown in the admin UI and is publicly queryable.', 'custom-post-type-ui' ),
+ 'selections' => $select
+ ) );
+
+ /*
+ * Show UI Boolean
+ */
+ $select = array(
+ 'options' => array(
+ array( 'attr' => '0', 'text' => __( 'False', 'custom-post-type-ui' ) ),
+ array( 'attr' => '1', 'text' => __( 'True', 'custom-post-type-ui' ), 'default' => 'true' )
+ )
+ );
+ $selected = ( isset( $current ) ) ? disp_boolean( $current['show_ui'] ) : '';
+ $select['selected'] = ( !empty( $selected ) ) ? $current['show_ui'] : '';
+ echo $ui->get_select_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'show_ui',
+ 'labeltext' => __( 'Show UI', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(default: True)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Whether to generate a default UI for managing this post type.', 'custom-post-type-ui' ),
+ 'selections' => $select
+ ) );
+
+ /*
+ * Show in Nav Menus
+ */
+ $select = array(
+ 'options' => array(
+ array( 'attr' => '0', 'text' => __( 'False', 'custom-post-type-ui' ) ),
+ array( 'attr' => '1', 'text' => __( 'True', 'custom-post-type-ui' ), 'default' => 'true' )
+ )
+ );
+ $selected = ( isset( $current ) && ! empty( $current['show_in_nav_menus'] ) ) ? disp_boolean( $current['show_in_nav_menus'] ) : '';
+ $select['selected'] = ( ! empty( $selected ) && ! empty( $current['show_in_nav_menus'] ) ) ? $current['show_in_nav_menus'] : '';
+ echo $ui->get_select_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'show_in_nav_menus',
+ 'labeltext' => __( 'Show in Nav Menus', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(CPTUI default: true)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Whether post type is available for selection in navigation menus.', 'custom-post-type-ui' ),
+ 'selections' => $select
+ ) );
+
+ /*
+ * show_in_rest Boolean
+ */
+ $select = array(
+ 'options' => array(
+ array( 'attr' => '0', 'text' => __( 'False', 'custom-post-type-ui' ), 'default' => 'false' ),
+ array( 'attr' => '1', 'text' => __( 'True', 'custom-post-type-ui' ) )
+ )
+ );
+ $selected = ( isset( $current ) && ! empty( $current['show_in_rest'] ) ) ? disp_boolean( $current['show_in_rest'] ) : '';
+ $select['selected'] = ( !empty( $selected ) && ! empty( $current['show_in_rest'] ) ) ? $current['show_in_rest'] : '';
+ echo $ui->get_select_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'show_in_rest',
+ 'labeltext' => __( 'Show in REST API', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(default: False)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Whether to show this post type data in the WP REST API.', 'custom-post-type-ui' ),
+ 'selections' => $select
+ ) );
+
+ /*
+ * rest_base slug.
+ */
+ echo $ui->get_text_input( array(
+ 'labeltext' => __( 'REST API base slug', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Slug to use in REST API URLs.', 'custom-post-type-ui' ),
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'rest_base',
+ 'textvalue' => ( isset( $current['rest_base'] ) ) ? esc_attr( $current['rest_base'] ) : '',
+ ) );
+
+ /*
+ * Has Archive Boolean
+ */
+ echo $ui->get_tr_start() . $ui->get_th_start();
+ echo $ui->get_label( 'has_archive', __( 'Has Archive', 'custom-post-type-ui' ) );
+ echo $ui->get_help( esc_attr__( 'Whether the post type will have a post type archive URL.', 'custom-post-type-ui' ) );
+ echo $ui->get_p( __( 'If left blank, the archive slug will default to the post type slug.', 'custom-post-type-ui' ) );
+ echo $ui->get_th_end() . $ui->get_td_start();
+
+ $select = array(
+ 'options' => array(
+ array( 'attr' => '0', 'text' => __( 'False', 'custom-post-type-ui' ), 'default' => 'true' ),
+ array( 'attr' => '1', 'text' => __( 'True', 'custom-post-type-ui' ) )
+ )
+ );
+ $selected = ( isset( $current ) ) ? disp_boolean( $current['has_archive'] ) : '';
+ $select['selected'] = ( !empty( $selected ) ) ? $current['has_archive'] : '';
+ echo $ui->get_select_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'has_archive',
+ 'aftertext' => __( '(default: False)', 'custom-post-type-ui' ),
+ 'selections' => $select,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Has Archive Input
+ */
+ echo $ui->get_text_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'has_archive_string',
+ 'textvalue' => ( isset( $current['has_archive_string'] ) ) ? esc_attr( $current['has_archive_string'] ) : '',
+ 'helptext' => esc_attr__( 'Slug to be used for archive URL.', 'custom-post-type-ui' ),
+ 'helptext_after'=> true,
+ 'wrap' => false
+ ) );
+ echo $ui->get_td_end() . $ui->get_tr_end();
+
+ /*
+ * Exclude From Search Boolean
+ */
+ $select = array(
+ 'options' => array(
+ array( 'attr' => '0', 'text' => __( 'False', 'custom-post-type-ui' ), 'default' => 'true' ),
+ array( 'attr' => '1', 'text' => __( 'True', 'custom-post-type-ui' ) )
+ )
+ );
+ $selected = ( isset( $current ) ) ? disp_boolean( $current['exclude_from_search'] ) : '';
+ $select['selected'] = ( !empty( $selected ) ) ? $current['exclude_from_search'] : '';
+ echo $ui->get_select_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'exclude_from_search',
+ 'labeltext' => __( 'Exclude From Search', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(default: False)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Whether to exclude posts with this post type from front end search results.', 'custom-post-type-ui' ),
+ 'selections' => $select
+ ) );
+
+ /*
+ * Capability Type Input
+ */
+ echo $ui->get_text_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'capability_type',
+ 'textvalue' => ( isset( $current['capability_type'] ) ) ? esc_attr( $current['capability_type'] ) : 'post',
+ 'labeltext' => __( 'Capability Type', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'The post type to use for checking read, edit, and delete capabilities', 'custom-post-type-ui' ),
+ ) );
+
+ /*
+ * Hierarchical Boolean
+ */
+ $select = array(
+ 'options' => array(
+ array( 'attr' => '0', 'text' => __( 'False', 'custom-post-type-ui' ), 'default' => 'true' ),
+ array( 'attr' => '1', 'text' => __( 'True', 'custom-post-type-ui' ) )
+ )
+ );
+ $selected = ( isset( $current ) ) ? disp_boolean( $current['hierarchical'] ) : '';
+ $select['selected'] = ( !empty( $selected ) ) ? $current['hierarchical'] : '';
+ echo $ui->get_select_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'hierarchical',
+ 'labeltext' => __( 'Hierarchical', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(default: False)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Whether the post type can have parent-child relationships', 'custom-post-type-ui' ),
+ 'selections' => $select
+ ) );
+
+ /*
+ * Rewrite Boolean
+ */
+ $select = array(
+ 'options' => array(
+ array( 'attr' => '0', 'text' => __( 'False', 'custom-post-type-ui' ) ),
+ array( 'attr' => '1', 'text' => __( 'True', 'custom-post-type-ui' ), 'default' => 'true' )
+ )
+ );
+ $selected = ( isset( $current ) ) ? disp_boolean( $current['rewrite'] ) : '';
+ $select['selected'] = ( !empty( $selected ) ) ? $current['rewrite'] : '';
+ echo $ui->get_select_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'rewrite',
+ 'labeltext' => __( 'Rewrite', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(default: True)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Whether or not WordPress should use rewrites for this post type', 'custom-post-type-ui' ),
+ 'selections' => $select
+ ) );
+
+ /*
+ * Rewrite Slug Input
+ */
+ echo $ui->get_text_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'rewrite_slug',
+ 'textvalue' => ( isset( $current['rewrite_slug'] ) ) ? esc_attr( $current['rewrite_slug'] ) : '',
+ 'labeltext' => __( 'Custom Rewrite Slug', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(default: post type slug)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Custom post type slug to use instead of the default.', 'custom-post-type-ui' ),
+ ) );
+
+ /*
+ * Rewrite With Front Boolean
+ */
+ $select = array(
+ 'options' => array(
+ array( 'attr' => '0', 'text' => __( 'False', 'custom-post-type-ui' ) ),
+ array( 'attr' => '1', 'text' => __( 'True', 'custom-post-type-ui' ), 'default' => 'true' )
+ )
+ );
+ $selected = ( isset( $current ) ) ? disp_boolean( $current['rewrite_withfront'] ) : '';
+ $select['selected'] = ( !empty( $selected ) ) ? $current['rewrite_withfront'] : '';
+ echo $ui->get_select_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'rewrite_withfront',
+ 'labeltext' => __( 'With Front', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(default: True)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Should the permastruct be prepended with the front base.', 'custom-post-type-ui' ),
+ 'selections' => $select
+ ) );
+
+ /*
+ * Query Var Boolean
+ */
+ $select = array(
+ 'options' => array(
+ array( 'attr' => '0', 'text' => __( 'False', 'custom-post-type-ui' ) ),
+ array( 'attr' => '1', 'text' => __( 'True', 'custom-post-type-ui' ), 'default' => 'true' )
+ )
+ );
+ $selected = ( isset( $current ) ) ? disp_boolean( $current['query_var'] ) : '';
+ $select['selected'] = ( !empty( $selected ) ) ? $current['query_var'] : '';
+ echo $ui->get_select_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'query_var',
+ 'labeltext' => __( 'Query Var', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(default: True)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Sets the query_var key for this post type.', 'custom-post-type-ui' ),
+ 'selections' => $select
+ ) );
+
+ /*
+ * Query Var Slug Input
+ */
+ echo $ui->get_text_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'query_var_slug',
+ 'textvalue' => ( isset( $current['query_var_slug'] ) ) ? esc_attr( $current['query_var_slug'] ) : '',
+ 'labeltext' => __( 'Custom Query Var Slug', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(default: post type slug) Query var needs to be true to use.', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Custom query var slug to use instead of the default.', 'custom-post-type-ui' ),
+ ) );
+
+ /*
+ * Menu Position Boolean
+ */
+ echo $ui->get_tr_start() . $ui->get_th_start();
+ echo $ui->get_label( 'menu_position', __( 'Menu Position', 'custom-post-type-ui' ) );
+ echo $ui->get_help( esc_attr__( 'The position in the menu order the post type should appear. show_in_menu must be true.', 'custom-post-type-ui' ) );
+ echo $ui->get_p( __( 'See Available options in the "menu_position" section. Range of 5-100', 'custom-post-type-ui' ) );
+
+ echo $ui->get_th_end() . $ui->get_td_start();
+ echo $ui->get_text_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'menu_position',
+ 'textvalue' => ( isset( $current['menu_position'] ) ) ? esc_attr( $current['menu_position'] ) : '',
+ 'wrap' => false
+ ) );
+ echo $ui->get_td_end() . $ui->get_tr_end();
+
+ /*
+ * Show In Menu Boolean
+ */
+ echo $ui->get_tr_start() . $ui->get_th_start();
+ echo $ui->get_label( 'show_in_menu', __( 'Show in Menu', 'custom-post-type-ui' ) );
+ echo $ui->get_help( esc_attr__( 'Whether to show the post type in the admin menu and where to show that menu.', 'custom-post-type-ui' ) );
+ echo $ui->get_p( __( '"Show UI" must be "true". If an existing top level page such as "tools.php" is indicated for second input, post type will be sub menu of that.', 'custom-post-type-ui' ) );
+ echo $ui->get_th_end() . $ui->get_td_start();
+
+ $select = array(
+ 'options' => array(
+ array( 'attr' => '0', 'text' => __( 'False', 'custom-post-type-ui' ) ),
+ array( 'attr' => '1', 'text' => __( 'True', 'custom-post-type-ui' ), 'default' => 'true' )
+ )
+ );
+ $selected = ( isset( $current ) ) ? disp_boolean( $current['show_in_menu'] ) : '';
+ $select['selected'] = ( !empty( $selected ) ) ? $current['show_in_menu'] : '';
+ echo $ui->get_select_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'show_in_menu',
+ 'aftertext' => __( '(default: True)', 'custom-post-type-ui' ),
+ 'selections' => $select,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Show In Menu Input
+ */
+ echo $ui->get_text_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'show_in_menu_string',
+ 'textvalue' => ( isset( $current['show_in_menu_string'] ) ) ? esc_attr( $current['show_in_menu_string'] ) : '',
+ 'helptext' => esc_attr__( 'Top-level page file name to make post type a sub-menu of.', 'custom-post-type-ui' ),
+ 'helptext_after'=> true,
+ 'wrap' => false
+ ) );
+ echo $ui->get_td_end() . $ui->get_tr_end();
+ /*
+ * Menu Icon
+ */
+ echo $ui->get_text_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'menu_icon',
+ 'textvalue' => ( isset( $current['menu_icon'] ) ) ? esc_attr( $current['menu_icon'] ) : '',
+ 'labeltext' => __( 'Menu Icon', 'custom-post-type-ui' ),
+ 'aftertext' => __( '(Full URL for icon or Dashicon class)', 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'URL to image to be used as menu icon or Dashicon class to use instead.', 'custom-post-type-ui' ),
+ ) );
+
+ echo $ui->get_tr_start() . $ui->get_th_start() . __( 'Supports', 'custom-post-type-ui' ) . $ui->get_th_end() . $ui->get_td_start() . $ui->get_fieldset_start();
+ /*
+ * Supports Title Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'title',
+ 'checked' => ( !empty( $current['supports'] ) && is_array( $current['supports'] ) && in_array( 'title', $current['supports'] ) ) ? 'true' : 'false',
+ 'name' => 'title',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'title',
+ 'labeltext' => __( 'Title' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Adds the title meta box when creating content for this custom post type', 'custom-post-type-ui' ),
+ 'default' => true,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Supports Editor Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'editor',
+ 'checked' => ( !empty( $current['supports'] ) && is_array( $current['supports'] ) && in_array( 'editor', $current['supports'] ) ) ? 'true' : 'false',
+ 'name' => 'editor',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'editor',
+ 'labeltext' => __( 'Editor' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Adds the content editor meta box when creating content for this custom post type', 'custom-post-type-ui' ),
+ 'default' => true,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Supports Excerpt Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'excerpt',
+ 'checked' => ( !empty( $current['supports'] ) && is_array( $current['supports'] ) && in_array( 'excerpt', $current['supports'] ) ) ? 'true' : 'false',
+ 'name' => 'excerpt',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'excerpt',
+ 'labeltext' => __( 'Excerpt' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Adds the excerpt meta box when creating content for this custom post type', 'custom-post-type-ui' ),
+ 'default' => true,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Supports Trackbacks Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'trackbacks',
+ 'checked' => ( !empty( $current['supports'] ) && is_array( $current['supports'] ) && in_array( 'trackbacks', $current['supports'] ) ) ? 'true' : 'false',
+ 'name' => 'trackbacks',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'trackbacks',
+ 'labeltext' => __( 'Trackbacks' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Adds the trackbacks meta box when creating content for this custom post type', 'custom-post-type-ui' ),
+ 'default' => true,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Supports Custom Fields Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'custom-fields',
+ 'checked' => ( !empty( $current['supports'] ) && is_array( $current['supports'] ) && in_array( 'custom-fields', $current['supports'] ) ) ? 'true' : 'false',
+ 'name' => 'custom-fields',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'custom-fields',
+ 'labeltext' => __( 'Custom Fields' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Adds the custom fields meta box when creating content for this custom post type', 'custom-post-type-ui' ),
+ 'default' => true,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Supports Comments Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'comments',
+ 'checked' => ( !empty( $current['supports'] ) && is_array( $current['supports'] ) && in_array( 'comments', $current['supports'] ) ) ? 'true' : 'false',
+ 'name' => 'comments',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'comments',
+ 'labeltext' => __( 'Comments' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Adds the comments meta box when creating content for this custom post type', 'custom-post-type-ui' ),
+ 'default' => true,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Supports Revisions Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'revisions',
+ 'checked' => ( !empty( $current['supports'] ) && is_array( $current['supports'] ) && in_array( 'revisions', $current['supports'] ) ) ? 'true' : 'false',
+ 'name' => 'revisions',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'revisions',
+ 'labeltext' => __( 'Revisions' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Adds the revisions meta box when creating content for this custom post type', 'custom-post-type-ui' ),
+ 'default' => true,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Supports Post Thumbnail Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'thumbnail',
+ 'checked' => ( !empty( $current['supports'] ) && is_array( $current['supports'] ) && in_array( 'thumbnail', $current['supports'] ) ) ? 'true' : 'false',
+ 'name' => 'thumbnail',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'thumbnail',
+ 'labeltext' => __( 'Featured Image' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Adds the featured image meta box when creating content for this custom post type', 'custom-post-type-ui' ),
+ 'default' => true,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Supports Author Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'author',
+ 'checked' => ( !empty( $current['supports'] ) && is_array( $current['supports'] ) && in_array( 'author', $current['supports'] ) ) ? 'true' : 'false',
+ 'name' => 'author',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'author',
+ 'labeltext' => __( 'Author' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Adds the author meta box when creating content for this custom post type', 'custom-post-type-ui' ),
+ 'default' => true,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Supports Page Attributes Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'page-attributes',
+ 'checked' => ( !empty( $current['supports'] ) && is_array( $current['supports'] ) && in_array( 'page-attributes', $current['supports'] ) ) ? 'true' : 'false',
+ 'name' => 'page-attributes',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'page-attributes',
+ 'labeltext' => __( 'Page Attributes' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Adds the page attribute meta box when creating content for this custom post type', 'custom-post-type-ui' ),
+ 'default' => true,
+ 'wrap' => false
+ ) );
+
+ /*
+ * Supports Post Formats Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'post-formats',
+ 'checked' => ( !empty( $current['supports'] ) && is_array( $current['supports'] ) && in_array( 'post-formats', $current['supports'] ) ) ? 'true' : 'false',
+ 'name' => 'post-formats',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'post-formats',
+ 'labeltext' => __( 'Post Formats' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Adds post format support', 'custom-post-type-ui' ),
+ 'default' => true,
+ 'wrap' => false
+ ) );
+
+ echo $ui->get_p( __( 'Use the option below to explicitly set "supports" to false.', 'custom-post-type-ui' ) );
+
+ echo $ui->get_check_input( array(
+ 'checkvalue' => 'none',
+ 'checked' => ( !empty( $current['supports'] ) && ( is_array( $current['supports'] ) && in_array( 'none', $current['supports'] ) ) ) ? 'true' : 'false',
+ 'name' => 'none',
+ 'namearray' => 'cpt_supports',
+ 'textvalue' => 'none',
+ 'labeltext' => __( 'None' , 'custom-post-type-ui' ),
+ 'helptext' => esc_attr__( 'Remove all support features', 'custom-post-type-ui' ),
+ 'default' => false,
+ 'wrap' => false
+ ) );
+
+ echo $ui->get_fieldset_end() . $ui->get_td_end() . $ui->get_tr_end();
+
+ echo $ui->get_tr_start() . $ui->get_th_start() . __( 'Custom "Supports"', 'custom-post-type-ui' );
+ echo $ui->get_p( __( 'Use this input to register custom "supports" values, separated by commas.', 'custom-post-type-ui' ) );
+ echo $ui->get_th_end() . $ui->get_td_start();
+ echo $ui->get_text_input( array(
+ 'namearray' => 'cpt_custom_post_type',
+ 'name' => 'custom_supports',
+ 'textvalue' => ( isset( $current['custom_supports'] ) ) ? esc_attr( $current['custom_supports'] ) : '',
+ 'helptext' => esc_attr__( 'Provide custom support slugs here.', 'custom-post-type-ui' ),
+ 'helptext_after'=> true,
+ 'wrap' => false
+ ) );
+ echo $ui->get_td_end() . $ui->get_tr_end();
+
+ echo $ui->get_tr_start() . $ui->get_th_start() . __( 'Built-in Taxonomies', 'custom-post-type-ui' ) . $ui->get_th_end() . $ui->get_td_start() . $ui->get_fieldset_start();
+
+ /**
+ * Filters the arguments for taxonomies to list for post type association.
+ *
+ * @since 1.0.0
+ *
+ * @param array $value Array of default arguments.
+ */
+ $args = apply_filters( 'cptui_attach_taxonomies_to_post_type', array( 'public' => true ) );
+
+ # If they don't return an array, fall back to the original default. Don't need to check for empty, because empty array is default for $args param in get_post_types anyway.
+ if ( !is_array( $args ) ) {
+ $args = array( 'public' => true );
+ }
+
+ $add_taxes = get_taxonomies( $args, 'objects' );
+ unset( $add_taxes['nav_menu'] ); unset( $add_taxes['post_format'] );
+ foreach ( $add_taxes as $add_tax ) {
+ /*
+ * Supports Taxonomies Checkbox
+ */
+ echo $ui->get_check_input( array(
+ 'checkvalue' => $add_tax->name,
+ 'checked' => ( !empty( $current['taxonomies'] ) && is_array( $current['taxonomies'] ) && in_array( $add_tax->name, $current['taxonomies'] ) ) ? 'true' : 'false',
+ 'name' => $add_tax->name,
+ 'namearray' => 'cpt_addon_taxes',
+ 'textvalue' => $add_tax->name,
+ 'labeltext' => $add_tax->label,
+ 'helptext' => sprintf( esc_attr__( 'Adds %s support', 'custom-post-type-ui' ), $add_tax->label ),
+ 'wrap' => false
+ ) );
+ }
+
+ echo $ui->get_fieldset_end() . $ui->get_td_end() . $ui->get_tr_end(); ?>
+
+
+
+ |
+
+