Custom Post Type UI - Version 0.8.1

Version Description

  • Renamed menu entry to "CPT UI".
  • Fixes for potential "undefined index" WP DEBUG log notices.
  • Updated localization text files for text changes.
  • Updated and fixed output for "get code" and custom post types.
  • Updated and fixed output for "get code" and custom taxonomies.
  • Fixes "get code" function callback name conflict.
  • Added support for show_admin_column for WordPress 3.5+
  • Added support for map_meta_cap field in custom post types.
  • Prevent quotes in slug fields for Custom Post Types or Taxonomies.
Download this release

Release Info

Developer tw2113
Plugin Icon 128x128 Custom Post Type UI
Version 0.8.1
Comparing to
See all releases

Code changes from version 0.8.0.0 to 0.8.1

README.md DELETED
@@ -1,4 +0,0 @@
1
- custom-post-type-ui
2
- ===================
3
-
4
- Admin UI for creating custom post types and custom taxonomies in WordPress
 
 
 
 
custom-post-type-ui.php CHANGED
@@ -4,23 +4,26 @@ Plugin Name: Custom Post Type UI
4
  Plugin URI: http://webdevstudios.com/plugin/custom-post-type-ui/
5
  Description: Admin panel for creating custom post types and custom taxonomies in WordPress
6
  Author: WebDevStudios.com
7
- Version: 0.8
8
  Author URI: http://webdevstudios.com/
9
  Text Domain: cpt-plugin
10
  License: GPLv2
11
  */
12
 
13
  // Define current version constant
14
- define( 'CPT_VERSION', '0.8' );
 
 
 
15
 
16
  // Define plugin URL constant
17
  $CPT_URL = cpt_check_return( 'add' );
18
 
19
  //load translated strings
20
- load_plugin_textdomain( 'cpt-plugin', false, 'custom-post-type-ui/languages' );
21
 
22
  // create custom plugin settings menu
23
- add_action('admin_menu', 'cpt_plugin_menu');
24
 
25
  //call delete post function
26
  add_action( 'admin_init', 'cpt_delete_post_type' );
@@ -44,9 +47,13 @@ function cpt_deactivation() {
44
  flush_rewrite_rules();
45
  }
46
 
 
 
 
 
47
  function cpt_plugin_menu() {
48
  //create custom post type menu
49
- add_menu_page( __( 'Custom Post Types', 'cpt-plugin' ), __( 'Custom Post Types', 'cpt-plugin' ), 'manage_options', 'cpt_main_menu', 'cpt_settings' );
50
 
51
  //create submenu items
52
  add_submenu_page( 'cpt_main_menu', __( 'Add New', 'cpt-plugin' ), __( 'Add New', 'cpt-plugin' ), 'manage_options', 'cpt_sub_add_new', 'cpt_add_new' );
@@ -86,46 +93,49 @@ function cpt_create_custom_post_types() {
86
  //check if option value is an Array before proceeding
87
  if ( is_array( $cpt_post_types ) ) {
88
  foreach ($cpt_post_types as $cpt_post_type) {
89
-
90
  //set post type values
91
- $cpt_label = ( !$cpt_post_type["label"] ) ? esc_html($cpt_post_type["name"]) : esc_html($cpt_post_type["label"]);
92
- $cpt_singular = ( !$cpt_post_type["singular_label"] ) ? $cpt_label : esc_html($cpt_post_type["singular_label"]);
93
- $cpt_rewrite_slug = ( !$cpt_post_type["rewrite_slug"] ) ? esc_html($cpt_post_type["name"]) : esc_html($cpt_post_type["rewrite_slug"]);
94
- $cpt_rewrite_withfront = ( !$cpt_post_type["rewrite_withfront"] ) ? esc_html($cpt_post_type["rewrite_withfront"]) : true;
95
- $cpt_menu_position = ( !$cpt_post_type["menu_position"] ) ? null : intval($cpt_post_type["menu_position"]);
96
- $cpt_menu_icon = ( empty($cpt_post_type["menu_icon"]) ) ? null : esc_url($cpt_post_type["menu_icon"]);
97
- $cpt_taxonomies = ( !$cpt_post_type[1] ) ? array() : $cpt_post_type[1];
98
- $cpt_supports = ( !$cpt_post_type[0] ) ? array() : $cpt_post_type[0];
99
- //$cpt_show_in_menu = ( !$cpt_post_type["show_in_menu_string"] ) ? null : $cpt_post_type["show_in_menu_string"];
100
-
101
- if ( isset ( $cpt_post_type["show_in_menu"] ) ) {
102
- $cpt_show_in_menu = ( $cpt_post_type["show_in_menu"] == 1 ) ? true : false;
103
- $cpt_show_in_menu = ( $cpt_post_type["show_in_menu_string"] ) ? $cpt_post_type["show_in_menu_string"] : $cpt_show_in_menu;
 
 
 
 
104
  } else {
105
- $cpt_show_in_menu = true;
106
  }
 
107
  //set custom label values
108
- $cpt_labels['name'] = $cpt_label;
109
- $cpt_labels['singular_name'] = $cpt_post_type["singular_label"];
110
 
111
  if ( isset ( $cpt_post_type[2]["menu_name"] ) ) {
112
- $cpt_labels['menu_name'] = ( $cpt_post_type[2]["menu_name"] ) ? $cpt_post_type[2]["menu_name"] : $cpt_label;
113
  }
114
 
115
- $cpt_has_archive = ( isset ( $cpt_post_type["has_archive"] ) ) ? get_disp_boolean( $cpt_post_type["has_archive"] ) : null;
116
- $cpt_exclude_from_search = ( isset ( $cpt_post_type["exclude_from_search"] ) ) ? get_disp_boolean( $cpt_post_type["exclude_from_search"] ) : null;
117
-
118
- $cpt_labels['add_new'] = ( $cpt_post_type[2]["add_new"] ) ? $cpt_post_type[2]["add_new"] : 'Add ' .$cpt_singular;
119
- $cpt_labels['add_new_item'] = ( $cpt_post_type[2]["add_new_item"] ) ? $cpt_post_type[2]["add_new_item"] : 'Add New ' .$cpt_singular;
120
- $cpt_labels['edit'] = ( $cpt_post_type[2]["edit"] ) ? $cpt_post_type[2]["edit"] : 'Edit';
121
- $cpt_labels['edit_item'] = ( $cpt_post_type[2]["edit_item"] ) ? $cpt_post_type[2]["edit_item"] : 'Edit ' .$cpt_singular;
122
- $cpt_labels['new_item'] = ( $cpt_post_type[2]["new_item"] ) ? $cpt_post_type[2]["new_item"] : 'New ' .$cpt_singular;
123
- $cpt_labels['view'] = ( $cpt_post_type[2]["view"] ) ? $cpt_post_type[2]["view"] : 'View ' .$cpt_singular;
124
- $cpt_labels['view_item'] = ( $cpt_post_type[2]["view_item"] ) ? $cpt_post_type[2]["view_item"] : 'View ' .$cpt_singular;
125
- $cpt_labels['search_items'] = ( $cpt_post_type[2]["search_items"] ) ? $cpt_post_type[2]["search_items"] : 'Search ' .$cpt_label;
126
- $cpt_labels['not_found'] = ( $cpt_post_type[2]["not_found"] ) ? $cpt_post_type[2]["not_found"] : 'No ' .$cpt_label. ' Found';
127
- $cpt_labels['not_found_in_trash'] = ( $cpt_post_type[2]["not_found_in_trash"] ) ? $cpt_post_type[2]["not_found_in_trash"] : 'No ' .$cpt_label. ' Found in Trash';
128
- $cpt_labels['parent'] = ( $cpt_post_type[2]["parent"] ) ? $cpt_post_type[2]["parent"] : 'Parent ' .$cpt_singular;
129
 
130
  register_post_type( $cpt_post_type["name"], array( 'label' => __($cpt_label),
131
  'public' => get_disp_boolean($cpt_post_type["public"]),
@@ -134,6 +144,7 @@ function cpt_create_custom_post_types() {
134
  'has_archive' => $cpt_has_archive,
135
  'show_in_menu' => $cpt_show_in_menu,
136
  'capability_type' => $cpt_post_type["capability_type"],
 
137
  'hierarchical' => get_disp_boolean($cpt_post_type["hierarchical"]),
138
  'exclude_from_search' => $cpt_exclude_from_search,
139
  'rewrite' => array( 'slug' => $cpt_rewrite_slug, 'with_front' => $cpt_rewrite_withfront ),
@@ -159,26 +170,27 @@ function cpt_create_custom_taxonomies() {
159
  foreach ($cpt_tax_types as $cpt_tax_type) {
160
 
161
  //set custom taxonomy values
162
- $cpt_label = ( !$cpt_tax_type["label"] ) ? esc_html($cpt_tax_type["name"]) : esc_html($cpt_tax_type["label"]);
163
- $cpt_singular_label = ( !$cpt_tax_type["singular_label"] ) ? esc_html($cpt_tax_type["name"]) : esc_html($cpt_tax_type["singular_label"]);
164
- $cpt_rewrite_slug = ( !$cpt_tax_type["rewrite_slug"] ) ? esc_html($cpt_tax_type["name"]) : esc_html($cpt_tax_type["rewrite_slug"]);
165
- $cpt_post_types = ( !$cpt_tax_type[1] ) ? $cpt_tax_type["cpt_name"] : $cpt_tax_type[1];
 
166
 
167
  //set custom label values
168
- $cpt_labels['name'] = $cpt_label;
169
- $cpt_labels['singular_name'] = $cpt_tax_type["singular_label"];
170
- $cpt_labels['search_items'] = ( $cpt_tax_type[0]["search_items"] ) ? $cpt_tax_type[0]["search_items"] : 'Search ' .$cpt_label;
171
- $cpt_labels['popular_items'] = ( $cpt_tax_type[0]["popular_items"] ) ? $cpt_tax_type[0]["popular_items"] : 'Popular ' .$cpt_label;
172
- $cpt_labels['all_items'] = ( $cpt_tax_type[0]["all_items"] ) ? $cpt_tax_type[0]["all_items"] : 'All ' .$cpt_label;
173
- $cpt_labels['parent_item'] = ( $cpt_tax_type[0]["parent_item"] ) ? $cpt_tax_type[0]["parent_item"] : 'Parent ' .$cpt_singular_label;
174
- $cpt_labels['parent_item_colon'] = ( $cpt_tax_type[0]["parent_item_colon"] ) ? $cpt_tax_type[0]["parent_item_colon"] : 'Parent ' .$cpt_singular_label. ':';
175
- $cpt_labels['edit_item'] = ( $cpt_tax_type[0]["edit_item"] ) ? $cpt_tax_type[0]["edit_item"] : 'Edit ' .$cpt_singular_label;
176
- $cpt_labels['update_item'] = ( $cpt_tax_type[0]["update_item"] ) ? $cpt_tax_type[0]["update_item"] : 'Update ' .$cpt_singular_label;
177
- $cpt_labels['add_new_item'] = ( $cpt_tax_type[0]["add_new_item"] ) ? $cpt_tax_type[0]["add_new_item"] : 'Add New ' .$cpt_singular_label;
178
- $cpt_labels['new_item_name'] = ( $cpt_tax_type[0]["new_item_name"] ) ? $cpt_tax_type[0]["new_item_name"] : 'New ' .$cpt_singular_label. ' Name';
179
- $cpt_labels['separate_items_with_commas'] = ( $cpt_tax_type[0]["separate_items_with_commas"] ) ? $cpt_tax_type[0]["separate_items_with_commas"] : 'Separate ' .$cpt_label. ' with commas';
180
- $cpt_labels['add_or_remove_items'] = ( $cpt_tax_type[0]["add_or_remove_items"] ) ? $cpt_tax_type[0]["add_or_remove_items"] : 'Add or remove ' .$cpt_label;
181
- $cpt_labels['choose_from_most_used'] = ( $cpt_tax_type[0]["choose_from_most_used"] ) ? $cpt_tax_type[0]["choose_from_most_used"] : 'Choose from the most used ' .$cpt_label;
182
 
183
  //register our custom taxonomies
184
  register_taxonomy( $cpt_tax_type["name"],
@@ -189,7 +201,8 @@ function cpt_create_custom_taxonomies() {
189
  'query_var' => get_disp_boolean($cpt_tax_type["query_var"]),
190
  'rewrite' => array('slug' => $cpt_rewrite_slug),
191
  'singular_label' => $cpt_singular_label,
192
- 'labels' => $cpt_labels
 
193
  ) );
194
 
195
  }
@@ -317,6 +330,19 @@ function cpt_register_settings() {
317
  wp_redirect( $RETURN_URL .'&cpt_error=1' );
318
  exit();
319
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
320
 
321
  //add support checkbox values to array
322
  $cpt_supports = ( isset( $_POST['cpt_supports'] ) ) ? $_POST['cpt_supports'] : null;
@@ -415,7 +441,6 @@ function cpt_register_settings() {
415
 
416
  wp_redirect( $RETURN_URL .'&cpt_error=2' );
417
  exit();
418
-
419
  } elseif ( empty( $_POST['cpt_post_types'] ) ) {
420
  if ( isset( $_GET['return'] ) ) {
421
  $RETURN_URL = cpt_check_return( esc_attr( $_GET['return'] ) );
@@ -425,7 +450,20 @@ function cpt_register_settings() {
425
 
426
  wp_redirect( $RETURN_URL .'&cpt_error=3' );
427
  exit();
 
428
 
 
 
 
 
 
 
 
 
 
 
 
 
429
  }
430
 
431
  //add label values to array
@@ -472,15 +510,15 @@ function cpt_settings() {
472
 
473
  <h2><?php _e( 'Frequently Asked Questions', 'cpt-plugin' ); ?></h2>
474
  <p><?php _e( 'Please note that this plugin will NOT handle display of registered post types or taxonomies in your current theme. It will simply register them for you.', 'cpt-plugin' ); ?>
475
- <p><?php _e( 'Q: <strong>How can I display content from a custom post type on my website?</strong>', 'cpt-plugin' ); ?></p>
476
  <p>
477
  <?php _e( 'A: Justin Tadlock has written some great posts on the topic:', 'cpt-plugin' ); ?><br />
478
  <a href="http://justintadlock.com/archives/2010/02/02/showing-custom-post-types-on-your-home-blog-page" target="_blank"><?php _e( 'Showing Custom Post Types on your Home Page', 'cpt-plugin' ); ?></a><br />
479
  <a href="http://justintadlock.com/archives/2010/04/29/custom-post-types-in-wordpress" target="_blank"><?php _e( 'Custom Post Types in WordPress', 'cpt-plugin' ); ?></a>
480
  </p>
481
- <p><?php _e( 'Q: <strong>How can I add custom meta boxes to my custom post types?</strong>', 'cpt-plugin' ); ?></p>
482
  <p><?php _e( 'A: The More Fields plugin does a great job at creating custom meta boxes and fully supports custom post types: ', 'cpt-plugin' ); ?><a href="http://wordpress.org/extend/plugins/more-fields/" target="_blank">http://wordpress.org/extend/plugins/more-fields/</a>. The <a href="https://github.com/jaredatch/Custom-Metaboxes-and-Fields-for-WordPress" target="_blank">Custom Metaboxes and Fields for WordPress</a> class is a great alternative to a plugin for more advanced users.</p>
483
- <p><?php _e( 'Q: <strong>I changed my custom post type name and now I can\'t get to my posts</strong>', 'cpt-plugin' ); ?></p>
484
  <p><?php _e( 'A: You can either change the custom post type name back to the original name or try the Post Type Switcher plugin: ', 'cpt-plugin' ); ?><a href="http://wordpress.org/extend/plugins/post-type-switcher/" target="_blank">http://wordpress.org/extend/plugins/post-type-switcher/</a></p>
485
  <div class="cp-rss-widget">
486
 
@@ -587,8 +625,7 @@ if ( isset($_GET['cpt_msg'] ) && $_GET['cpt_msg'] == 'del' ) { ?>
587
  $thecounter=0;
588
  $cpt_names = array();
589
  //Create urls for management
590
- foreach ($cpt_post_types as $cpt_post_type) {
591
-
592
  $del_url = cpt_check_return( 'cpt' ) .'&deltype=' .$thecounter .'&return=cpt';
593
  $del_url = ( function_exists('wp_nonce_url') ) ? wp_nonce_url($del_url, 'cpt_delete_post_type') : $del_url;
594
 
@@ -626,18 +663,22 @@ if ( isset($_GET['cpt_msg'] ) && $_GET['cpt_msg'] == 'del' ) { ?>
626
  <?php
627
  // Begin the display for the "Get code" feature
628
  //display register_post_type code
629
- $custom_post_type='';
630
- $cpt_support_array='';
631
- $cpt_tax_array='';
632
-
633
- $cpt_label = ( !$cpt_post_type["label"] ) ? esc_html($cpt_post_type["name"]) : esc_html($cpt_post_type["label"]);
634
- $cpt_singular = ( !$cpt_post_type["singular_label"] ) ? $cpt_label : esc_html($cpt_post_type["singular_label"]);
635
- $cpt_rewrite_slug = ( !$cpt_post_type["rewrite_slug"] ) ? esc_html($cpt_post_type["name"]) : esc_html($cpt_post_type["rewrite_slug"]);
636
- $cpt_menu_position = ( !$cpt_post_type["menu_position"] ) ? null : intval($cpt_post_type["menu_position"]);
637
- $cpt_menu_icon = ( !$cpt_post_type["menu_icon"] ) ? null : esc_url($cpt_post_type["menu_icon"]);
638
- $cpt_show_in_menu = ( $cpt_post_type["show_in_menu"] == 1 ) ? 'true' : 'false';
639
- $cpt_show_in_menu = ( $cpt_post_type["show_in_menu_string"] ) ? '\''.$cpt_post_type["show_in_menu_string"].'\'' : $cpt_show_in_menu;
640
-
 
 
 
 
641
  //set custom label values
642
  $cpt_labels['name'] = $cpt_label;
643
  $cpt_labels['singular_name'] = $cpt_post_type["singular_label"];
@@ -655,66 +696,80 @@ if ( isset($_GET['cpt_msg'] ) && $_GET['cpt_msg'] == 'del' ) { ?>
655
  $cpt_labels['parent'] = ( $cpt_post_type[2]["parent"] ) ? $cpt_post_type[2]["parent"] : 'Parent ' .$cpt_singular;
656
 
657
  if( is_array( $cpt_post_type[0] ) ) {
 
 
658
  foreach ( $cpt_post_type[0] as $cpt_supports ) {
659
- //build supports variable
660
- $cpt_support_array .= '\''.$cpt_supports.'\',';
 
 
 
 
661
  }
662
  }
663
 
664
  if( is_array( $cpt_post_type[1] ) ) {
 
 
665
  foreach ( $cpt_post_type[1] as $cpt_taxes ) {
666
  //build taxonomies variable
667
- $cpt_tax_array .= '\''.$cpt_taxes.'\',';
 
 
 
668
  }
669
  }
670
- $custom_post_type = "add_action('init', 'cptui_register_my_cpt');\n";
671
- $custom_post_type .= "function cptui_register_my_cpt() {\n";
672
- $custom_post_type .= "register_post_type('" . $cpt_post_type["name"] . "', array( \n'label' => '__('$cpt_label')',\n";
673
  $custom_post_type .= "'description' => '" . $cpt_post_type["description"] . "',\n";
674
- $custom_post_type .= "'public' => '" . disp_boolean($cpt_post_type["public"]) . "',\n";
675
- $custom_post_type .= "'show_ui' => '" . disp_boolean($cpt_post_type["show_ui"]) . "',\n";
676
- $custom_post_type .= "'show_in_menu' => '" . $cpt_show_in_menu . "',\n";
677
  $custom_post_type .= "'capability_type' => '" . $cpt_post_type["capability_type"] . "',\n";
678
- $custom_post_type .= "'hierarchical' => '" . disp_boolean($cpt_post_type["hierarchical"]) . "',\n";
679
-
680
- if( isset( $cpt_post_type["rewrite_slug"] ) && !empty( $cpt_post_type["rewrite_slug"] ) )
681
- $custom_post_type .= "'rewrite' => array('slug' => '" . $cpt_post_type["rewrite_slug"] . "', 'with_front' => '" . $cpt_post_type['rewrite_withfront'] . "'),\n";
682
- else
683
- $custom_post_type .= "'rewrite' => array('slug' => '" . $cpt_post_type["name"] . "', 'with_front' => '" . $cpt_post_type['rewrite_withfront'] . "'),\n";
 
 
 
684
 
685
- $custom_post_type .= "'query_var' => '" . disp_boolean($cpt_post_type["query_var"]) . "',\n";
686
 
687
- if ( $cpt_post_type["has_archive"] ) {
688
- $custom_post_type .= "'has_archive\' => '" . disp_boolean( $cpt_post_type["has_archive"] ) . "',\n";
689
  }
690
 
691
- if ( isset( $cpt_post_type["exclude_from_search"] ) ) {
692
- $custom_post_type .= "'exclude_from_search' => '" . disp_boolean( $cpt_post_type["exclude_from_search"] ) . "',\n";
693
  }
694
 
695
- if ( $cpt_post_type["menu_position"] ) {
696
  $custom_post_type .= "'menu_position' => '" . $cpt_post_type["menu_position"] . "',\n";
697
  }
698
 
699
- if ( $cpt_post_type["menu_icon"] ) {
700
  $custom_post_type .= "'menu_icon' => '" . $cpt_post_type["menu_icon"] . "',\n";
701
  }
702
 
703
- $custom_post_type .= "'supports' => array('" . $cpt_support_array . "'),\n";
704
 
705
- if ( $cpt_tax_array ) {
706
- $custom_post_type .= "taxonomies' => array('" . $cpt_tax_array . "'),\n";
707
  }
708
 
709
- if ( $cpt_labels ) {
710
- $custom_post_type .= "'labels' => '" . var_export( $cpt_labels, true ) . "'\n";
711
  }
712
 
713
  $custom_post_type .= ") ); }";
714
  echo '<p>';
715
  _e( 'Place the below code in your themes functions.php file to manually create this custom post type.', 'cpt-plugin' ).'<br>';
716
- _e('This is a <strong>BETA</strong> feature. Please <a href="https://github.com/WebDevStudios/custom-post-type-ui">report bugs</a>.','cpt-plugin').'</p>';
717
- echo '<textarea rows="5" cols="100">' .$custom_post_type .'</textarea>';
718
 
719
  ?>
720
  </div>
@@ -820,7 +875,7 @@ if (isset($_GET['cpt_msg']) && $_GET['cpt_msg']=='del') { ?>
820
  <?php screen_icon( 'plugins' ); ?>
821
  <h2><?php _e('Manage Custom Taxonomies', 'cpt-plugin') ?></h2>
822
  <p><?php _e('Deleting custom taxonomies does <strong>NOT</strong> delete any content added to those taxonomies. You can easily recreate your taxonomies and the content will still exist.', 'cpt-plugin') ?></p>
823
- <?php
824
  $cpt_tax_types = get_option( 'cpt_custom_tax_types', array() );
825
 
826
  if (is_array($cpt_tax_types)) {
@@ -890,46 +945,65 @@ if (isset($_GET['cpt_msg']) && $_GET['cpt_msg']=='del') { ?>
890
  <div style="display:none;" id="slidepanel<?php echo $thecounter; ?>">
891
  <?php
892
  //display register_taxonomy code
893
- $cpt_tax_types = get_option('cpt_custom_tax_types');
894
  $custom_tax = '';
 
 
895
 
896
- //check if option value is an Array before proceeding
897
- if (is_array($cpt_tax_types)) {
898
- //foreach ($cpt_tax_types as $cpt_tax_type) {
 
 
899
 
900
- if (!$cpt_tax_type["label"]) {
901
- $cpt_label = esc_html($cpt_tax_type["name"]);
902
- } else {
903
- $cpt_label = esc_html($cpt_tax_type["label"]);
904
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
905
 
906
- //check if singular label was filled out
907
- if (!$cpt_tax_type["singular_label"]) {
908
- $cpt_singular_label = esc_html($cpt_tax_type["name"]);
909
- } else {
910
- $cpt_singular_label = esc_html($cpt_tax_type["singular_label"]);
911
- }
912
 
913
- $cpt_post_types = ( !$cpt_tax_type[1] ) ? $cpt_tax_type["cpt_name"] : var_export( $cpt_tax_type[1], true );
914
-
915
- //register our custom taxonomies
916
- $custom_tax = 'register_taxonomy(\'' . $cpt_tax_type["name"] . '\',';
917
- $custom_tax .= $cpt_post_types . ',';
918
- $custom_tax .= 'array( \'hierarchical\' => ' . disp_boolean($cpt_tax_type["hierarchical"]) . ',';
919
- $custom_tax .= '\'label\' => \'' . $cpt_label . '\',';
920
- $custom_tax .= '\'show_ui\' => ' . disp_boolean($cpt_tax_type["show_ui"]) . ',';
921
- $custom_tax .= '\'query_var\' => ' . disp_boolean($cpt_tax_type["query_var"]) . ',';
922
- $custom_tax .= '\'rewrite\' => array(\'slug\' => \'' . $cpt_tax_type["rewrite_slug"] . '\'),';
923
- $custom_tax .= '\'singular_label\' => \'' . $cpt_singular_label . '\'';
924
- $custom_tax .= ') );';
925
-
926
- echo '<br>';
927
- echo _e('Place the below code in your themes functions.php file to manually create this custom taxonomy','cpt-plugin').'<br>';
928
- echo _e('This is a <strong>BETA</strong> feature. Please <a href="http://webdevstudios.com/support/forum/custom-post-type-ui/">report bugs</a>.','cpt-plugin').'<br>';
929
- echo '<textarea rows="5" cols="100">' .$custom_tax .'</textarea>';
930
-
931
- //}
932
  }
 
 
 
 
 
 
 
 
 
 
933
  ?>
934
  </div>
935
  </td>
@@ -962,27 +1036,27 @@ function cpt_add_new() {
962
  $cpt_options = get_option('cpt_custom_post_types');
963
 
964
  //load custom post type values to edit
965
- $cpt_post_type_name = $cpt_options[ $editType ]["name"];
966
- $cpt_label = $cpt_options[ $editType ]["label"];
967
- $cpt_singular_label = $cpt_options[ $editType ]["singular_label"];
968
- $cpt_public = $cpt_options[ $editType ]["public"];
969
- $cpt_showui = $cpt_options[ $editType ]["show_ui"];
970
- $cpt_capability = $cpt_options[ $editType ]["capability_type"];
971
- $cpt_hierarchical = $cpt_options[ $editType ]["hierarchical"];
972
- $cpt_rewrite = $cpt_options[ $editType ]["rewrite"];
973
- $cpt_rewrite_slug = $cpt_options[ $editType ]["rewrite_slug"];
974
- $cpt_rewrite_withfront = $cpt_options[ $editType ]["rewrite_withfront"];
975
- $cpt_query_var = $cpt_options[ $editType ]["query_var"];
976
- $cpt_description = $cpt_options[ $editType ]["description"];
977
- $cpt_menu_position = $cpt_options[ $editType ]["menu_position"];
978
- $cpt_menu_icon = $cpt_options[ $editType ]["menu_icon"];
979
- $cpt_supports = $cpt_options[ $editType ][0];
980
- $cpt_taxes = $cpt_options[ $editType ][1];
981
- $cpt_labels = $cpt_options[ $editType ][2];
982
- $cpt_has_archive = ( isset( $cpt_options[$editType]["has_archive"] ) ) ? $cpt_options[$editType]["has_archive"] : null;
983
- $cpt_exclude_from_search = ( isset( $cpt_options[$editType]["exclude_from_search"] ) ) ? $cpt_options[$editType]["exclude_from_search"] : null;
984
- $cpt_show_in_menu = ( isset( $cpt_options[$editType]["show_in_menu"] ) ) ? $cpt_options[$editType]["show_in_menu"] : null;
985
- $cpt_show_in_menu_string = ( isset( $cpt_options[$editType]["show_in_menu_string"] ) ) ? $cpt_options[$editType]["show_in_menu_string"] : null;
986
 
987
  $cpt_submit_name = __( 'Save Custom Post Type', 'cpt-plugin' );
988
  } else {
@@ -998,7 +1072,7 @@ function cpt_add_new() {
998
  //load custom posts saved in WP
999
  $cpt_options = get_option('cpt_custom_tax_types');
1000
 
1001
- //load custom post type values to edit
1002
  $cpt_tax_name = $cpt_options[$editTax]["name"];
1003
  $cpt_tax_label = stripslashes( $cpt_options[$editTax]["label"] );
1004
  $cpt_singular_label_tax = stripslashes( $cpt_options[$editTax]["singular_label"] );
@@ -1008,6 +1082,7 @@ function cpt_add_new() {
1008
  $cpt_tax_query_var = $cpt_options[$editTax]["query_var"];
1009
  $cpt_tax_rewrite = $cpt_options[$editTax]["rewrite"];
1010
  $cpt_tax_rewrite_slug = $cpt_options[$editTax]["rewrite_slug"];
 
1011
  $cpt_tax_labels = stripslashes_deep( $cpt_options[$editTax][0] );
1012
  $cpt_post_types = $cpt_options[$editTax][1];
1013
 
@@ -1049,6 +1124,12 @@ function cpt_add_new() {
1049
  }
1050
  if ( $_GET['cpt_error'] == 3 ) {
1051
  _e( 'You must assign your custom taxonomy to at least one post type.', 'cpt-plugin' );
 
 
 
 
 
 
1052
  } ?>
1053
  </div>
1054
  <?php
@@ -1090,7 +1171,7 @@ function cpt_add_new() {
1090
  <table class="form-table">
1091
  <tr valign="top">
1092
  <th scope="row"><?php _e('Post Type Name', 'cpt-plugin') ?> <span class="required">*</span> <a href="#" title="<?php esc_attr_e( 'The post type name. Used to retrieve custom post type content. Should be short and sweet', 'cpt-plugin'); ?>" class="help">?</a></th>
1093
- <td><input type="text" name="cpt_custom_post_type[name]" tabindex="1" value="<?php if (isset($cpt_post_type_name)) { echo esc_attr($cpt_post_type_name); } ?>" maxlength="20" onblur="this.value=this.value.toLowerCase()" /> <?php _e( '(e.g. movies)', 'cpt-plugin' ); ?>
1094
  <br />
1095
  <p><strong><?php _e( 'Max 20 characters, can not contain capital letters or spaces. Reserved post types: post, page, attachment, revision, nav_menu_item.', 'cpt-plugin' ); ?></strong></p>
1096
  </td>
@@ -1252,7 +1333,7 @@ function cpt_add_new() {
1252
  <tr valign="top">
1253
  <th scope="row"><?php _e('Hierarchical', 'cpt-plugin') ?> <a href="#" title="<?php esc_attr_e( 'Whether the post type can have parent-child relationships', 'cpt-plugin' ); ?>" class="help">?</a></th>
1254
  <td>
1255
- <select name="cpt_custom_post_type[hierarchical]" tabindex="7">
1256
  <option value="0" <?php if (isset($cpt_hierarchical)) { if ($cpt_hierarchical == 0) { echo 'selected="selected"'; } } else { echo 'selected="selected"'; } ?>><?php _e( 'False', 'cpt-plugin' ); ?></option>
1257
  <option value="1" <?php if (isset($cpt_hierarchical)) { if ($cpt_hierarchical == 1) { echo 'selected="selected"'; } } ?>><?php _e( 'True', 'cpt-plugin' ); ?></option>
1258
  </select> <?php _e( '(default: False)', 'cpt-plugin' ); ?>
@@ -1262,7 +1343,7 @@ function cpt_add_new() {
1262
  <tr valign="top">
1263
  <th scope="row"><?php _e('Rewrite', 'cpt-plugin') ?> <a href="#" title="<?php esc_attr_e( 'Triggers the handling of rewrites for this post type', 'cpt-plugin' ); ?>" class="help">?</a></th>
1264
  <td>
1265
- <select name="cpt_custom_post_type[rewrite]" tabindex="8">
1266
  <option value="0" <?php if (isset($cpt_rewrite)) { if ($cpt_rewrite == 0 && $cpt_rewrite != '') { echo 'selected="selected"'; } } ?>><?php _e( 'False', 'cpt-plugin' ); ?></option>
1267
  <option value="1" <?php if (isset($cpt_rewrite)) { if ($cpt_rewrite == 1 || is_null($cpt_rewrite)) { echo 'selected="selected"'; } } else { echo 'selected="selected"'; } ?>><?php _e( 'True', 'cpt-plugin' ); ?></option>
1268
  </select> <?php _e( '(default: True)', 'cpt-plugin' ); ?>
@@ -1271,7 +1352,7 @@ function cpt_add_new() {
1271
 
1272
  <tr valign="top">
1273
  <th scope="row"><?php _e('Custom Rewrite Slug', 'cpt-plugin') ?> <a href="#" title="<?php esc_attr_e( 'Custom slug to use instead of the default.' ,'cpt-plugin' ); ?>" class="help">?</a></th>
1274
- <td><input type="text" name="cpt_custom_post_type[rewrite_slug]" tabindex="9" value="<?php if (isset($cpt_rewrite_slug)) { echo esc_attr($cpt_rewrite_slug); } ?>" /> <?php _e( '(default: post type name)', 'cpt-plugin' ); ?></td>
1275
  </tr>
1276
 
1277
  <tr valign="top">
@@ -1302,13 +1383,16 @@ function cpt_add_new() {
1302
  </tr>
1303
 
1304
  <tr valign="top">
1305
- <th scope="row"><?php _e('Show in Menu', 'cpt-plugin') ?> <a href="#" title="<?php esc_attr_e( 'Whether to show the post type in the admin menu and where to show that menu. Note that show_ui must be true', 'cpt-plugin' ); ?>" class="help">?</a></th>
 
 
1306
  <td>
1307
- <select name="cpt_custom_post_type[show_in_menu]" tabindex="10">
1308
- <option value="0" <?php if (isset($cpt_show_in_menu)) { if ($cpt_show_in_menu == 0 && $cpt_show_in_menu != '') { echo 'selected="selected"'; } } ?>><?php _e( 'False', 'cpt-plugin' ); ?></option>
1309
  <option value="1" <?php if (isset($cpt_show_in_menu)) { if ($cpt_show_in_menu == 1 || is_null($cpt_show_in_menu)) { echo 'selected="selected"'; } } else { echo 'selected="selected"'; } ?>><?php _e( 'True', 'cpt-plugin' ); ?></option>
1310
- </select> <?php _e( 'Top level page (e.g. \'plugins.php\')', 'cpt-plugins' ); ?>
1311
- <input type="text" name="cpt_custom_post_type[show_in_menu_string]" tabindex="12" size="5" value="<?php if (isset($cpt_show_in_menu_string)) { echo esc_attr($cpt_show_in_menu_string); } ?>" /></td>
 
1312
  </tr>
1313
 
1314
  <tr valign="top">
@@ -1381,7 +1465,7 @@ function cpt_add_new() {
1381
  <p><?php _e('Note: Changing the name, after adding terms to the taxonomy, will not update the terms in the database.', 'cpt-plugin' ); ?></p>
1382
  </th>
1383
  <td><input type="text" name="cpt_custom_tax[name]" maxlength="32" onblur="this.value=this.value.toLowerCase()" tabindex="21" value="<?php if (isset($cpt_tax_name)) { echo esc_attr($cpt_tax_name); } ?>" /> <?php _e( '(e.g. actors)', 'cpt-plugin' ); ?>
1384
- <p><strong><?php _e( 'Max 32 characters, should only contain alphanumeric lowercase characters.', 'cpt-plugin' ); ?></strong></p>
1385
  </td>
1386
  </tr>
1387
 
@@ -1554,6 +1638,23 @@ function cpt_add_new() {
1554
  <td><input type="text" name="cpt_custom_tax[rewrite_slug]" tabindex="9" value="<?php if (isset($cpt_tax_rewrite_slug)) { echo esc_attr($cpt_tax_rewrite_slug); } ?>" /> <?php _e( '(default: taxonomy name)', 'cpt-plugin' ); ?></td>
1555
  </tr>
1556
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1557
  </table>
1558
  </div>
1559
 
@@ -1592,7 +1693,7 @@ function cpt_check_return( $return ) {
1592
  }
1593
 
1594
  function get_disp_boolean($booText) {
1595
- if ($booText == '0') {
1596
  return false;
1597
  }
1598
 
@@ -1600,7 +1701,7 @@ function get_disp_boolean($booText) {
1600
  }
1601
 
1602
  function disp_boolean($booText) {
1603
- if ( $booText == '0' ) {
1604
  return 'false';
1605
  }
1606
 
4
  Plugin URI: http://webdevstudios.com/plugin/custom-post-type-ui/
5
  Description: Admin panel for creating custom post types and custom taxonomies in WordPress
6
  Author: WebDevStudios.com
7
+ Version: 0.8.1
8
  Author URI: http://webdevstudios.com/
9
  Text Domain: cpt-plugin
10
  License: GPLv2
11
  */
12
 
13
  // Define current version constant
14
+ define( 'CPT_VERSION', '0.8.1' );
15
+
16
+ // Define current WordPress version constant
17
+ define( 'CPTUI_WP_VERSION', get_bloginfo( 'version' ) );
18
 
19
  // Define plugin URL constant
20
  $CPT_URL = cpt_check_return( 'add' );
21
 
22
  //load translated strings
23
+ add_action( 'init', 'cpt_load_textdomain' );
24
 
25
  // create custom plugin settings menu
26
+ add_action( 'admin_menu', 'cpt_plugin_menu' );
27
 
28
  //call delete post function
29
  add_action( 'admin_init', 'cpt_delete_post_type' );
47
  flush_rewrite_rules();
48
  }
49
 
50
+ function cpt_load_textdomain() {
51
+ load_plugin_textdomain( 'cpt-plugin', false, basename( dirname( __FILE__ ) ) . '/languages' );
52
+ }
53
+
54
  function cpt_plugin_menu() {
55
  //create custom post type menu
56
+ add_menu_page( __( 'Custom Post Types', 'cpt-plugin' ), __( 'CPT UI', 'cpt-plugin' ), 'manage_options', 'cpt_main_menu', 'cpt_settings' );
57
 
58
  //create submenu items
59
  add_submenu_page( 'cpt_main_menu', __( 'Add New', 'cpt-plugin' ), __( 'Add New', 'cpt-plugin' ), 'manage_options', 'cpt_sub_add_new', 'cpt_add_new' );
93
  //check if option value is an Array before proceeding
94
  if ( is_array( $cpt_post_types ) ) {
95
  foreach ($cpt_post_types as $cpt_post_type) {
 
96
  //set post type values
97
+ $cpt_label = ( !empty( $cpt_post_type["label"] ) ) ? esc_html( $cpt_post_type["label"] ) : esc_html( $cpt_post_type["name"] ) ;
98
+ $cpt_singular = ( !empty( $cpt_post_type["singular_label"] ) ) ? esc_html( $cpt_post_type["singular_label"] ) : esc_html( $cpt_label );
99
+ $cpt_rewrite_slug = ( !empty( $cpt_post_type["rewrite_slug"] ) ) ? esc_html( $cpt_post_type["rewrite_slug"] ) : esc_html( $cpt_post_type["name"] );
100
+ $cpt_rewrite_withfront = ( isset( $cpt_post_type["rewrite_withfront"] ) && !empty( $cpt_post_type["rewrite_withfront"] ) ) ? esc_html( $cpt_post_type["rewrite_withfront"] ) : true;
101
+ $cpt_menu_position = ( !empty( $cpt_post_type["menu_position"] ) ) ? intval( $cpt_post_type["menu_position"] ) : null; //must be null
102
+ $cpt_menu_icon = ( !empty( $cpt_post_type["menu_icon"] ) ) ? esc_url( $cpt_post_type["menu_icon"] ) : null; //must be null
103
+ $cpt_taxonomies = ( !empty( $cpt_post_type[1] ) ) ? $cpt_post_type[1] : array();
104
+ $cpt_supports = ( !empty( $cpt_post_type[0] ) ) ? $cpt_post_type[0] : array();
105
+
106
+ //Show UI must be true
107
+ if ( true == get_disp_boolean( $cpt_post_type["show_ui"] ) ) {
108
+ //If the string is empty, we will need boolean, else use the string.
109
+ if ( empty( $cpt_post_type['show_in_menu_string'] ) ) {
110
+ $cpt_show_in_menu = ( $cpt_post_type["show_in_menu"] == 1 ) ? true : false;
111
+ } else {
112
+ $cpt_show_in_menu = $cpt_post_type['show_in_menu_string'];
113
+ }
114
  } else {
115
+ $cpt_show_in_menu = false;
116
  }
117
+
118
  //set custom label values
119
+ $cpt_labels['name'] = $cpt_label;
120
+ $cpt_labels['singular_name'] = $cpt_post_type["singular_label"];
121
 
122
  if ( isset ( $cpt_post_type[2]["menu_name"] ) ) {
123
+ $cpt_labels['menu_name'] = ( !empty( $cpt_post_type[2]["menu_name"] ) ) ? $cpt_post_type[2]["menu_name"] : $cpt_label;
124
  }
125
 
126
+ $cpt_has_archive = ( !empty( $cpt_post_type["has_archive"] ) ) ? get_disp_boolean( $cpt_post_type["has_archive"] ) : '';
127
+ $cpt_exclude_from_search = ( !empty( $cpt_post_type["exclude_from_search"] ) ) ? get_disp_boolean( $cpt_post_type["exclude_from_search"] ) : '';
128
+ $cpt_labels['add_new'] = ( !empty( $cpt_post_type[2]["add_new"] ) ) ? $cpt_post_type[2]["add_new"] : 'Add ' .$cpt_singular;
129
+ $cpt_labels['add_new_item'] = ( !empty( $cpt_post_type[2]["add_new_item"] ) ) ? $cpt_post_type[2]["add_new_item"] : 'Add New ' .$cpt_singular;
130
+ $cpt_labels['edit'] = ( !empty( $cpt_post_type[2]["edit"] ) ) ? $cpt_post_type[2]["edit"] : 'Edit';
131
+ $cpt_labels['edit_item'] = ( !empty( $cpt_post_type[2]["edit_item"] ) ) ? $cpt_post_type[2]["edit_item"] : 'Edit ' .$cpt_singular;
132
+ $cpt_labels['new_item'] = ( !empty( $cpt_post_type[2]["new_item"] ) ) ? $cpt_post_type[2]["new_item"] : 'New ' .$cpt_singular;
133
+ $cpt_labels['view'] = ( !empty( $cpt_post_type[2]["view"] ) ) ? $cpt_post_type[2]["view"] : 'View ' .$cpt_singular;
134
+ $cpt_labels['view_item'] = ( !empty( $cpt_post_type[2]["view_item"] ) ) ? $cpt_post_type[2]["view_item"] : 'View ' .$cpt_singular;
135
+ $cpt_labels['search_items'] = ( !empty( $cpt_post_type[2]["search_items"] ) ) ? $cpt_post_type[2]["search_items"] : 'Search ' .$cpt_label;
136
+ $cpt_labels['not_found'] = ( !empty( $cpt_post_type[2]["not_found"] ) ) ? $cpt_post_type[2]["not_found"] : 'No ' .$cpt_label. ' Found';
137
+ $cpt_labels['not_found_in_trash'] = ( !empty( $cpt_post_type[2]["not_found_in_trash"] ) ) ? $cpt_post_type[2]["not_found_in_trash"] : 'No ' .$cpt_label. ' Found in Trash';
138
+ $cpt_labels['parent'] = ( $cpt_post_type[2]["parent"] ) ? $cpt_post_type[2]["parent"] : 'Parent ' .$cpt_singular;
 
139
 
140
  register_post_type( $cpt_post_type["name"], array( 'label' => __($cpt_label),
141
  'public' => get_disp_boolean($cpt_post_type["public"]),
144
  'has_archive' => $cpt_has_archive,
145
  'show_in_menu' => $cpt_show_in_menu,
146
  'capability_type' => $cpt_post_type["capability_type"],
147
+ 'map_meta_cap' => true,
148
  'hierarchical' => get_disp_boolean($cpt_post_type["hierarchical"]),
149
  'exclude_from_search' => $cpt_exclude_from_search,
150
  'rewrite' => array( 'slug' => $cpt_rewrite_slug, 'with_front' => $cpt_rewrite_withfront ),
170
  foreach ($cpt_tax_types as $cpt_tax_type) {
171
 
172
  //set custom taxonomy values
173
+ $cpt_label = ( !empty( $cpt_tax_type["label"] ) ) ? esc_html( $cpt_tax_type["label"] ) : esc_html( $cpt_tax_type["name"] );
174
+ $cpt_singular_label = ( !empty( $cpt_tax_type["singular_label"] ) ) ? esc_html( $cpt_tax_type["singular_label"] ) : esc_html( $cpt_tax_type["name"] );
175
+ $cpt_rewrite_slug = ( !empty( $cpt_tax_type["rewrite_slug"] ) ) ? esc_html( $cpt_tax_type["rewrite_slug"] ) : esc_html( $cpt_tax_type["name"] );
176
+ $cpt_tax_show_admin_column = ( !empty( $cpt_tax_type["show_admin_column"] ) ) ? esc_html( $cpt_tax_type["show_admin_column"] ) : false;
177
+ $cpt_post_types = ( !empty( $cpt_tax_type[1] ) ) ? $cpt_tax_type[1] : $cpt_tax_type["cpt_name"];
178
 
179
  //set custom label values
180
+ $cpt_labels['name'] = $cpt_label;
181
+ $cpt_labels['singular_name'] = $cpt_tax_type["singular_label"];
182
+ $cpt_labels['search_items'] = ( $cpt_tax_type[0]["search_items"] ) ? $cpt_tax_type[0]["search_items"] : 'Search ' .$cpt_label;
183
+ $cpt_labels['popular_items'] = ( $cpt_tax_type[0]["popular_items"] ) ? $cpt_tax_type[0]["popular_items"] : 'Popular ' .$cpt_label;
184
+ $cpt_labels['all_items'] = ( $cpt_tax_type[0]["all_items"] ) ? $cpt_tax_type[0]["all_items"] : 'All ' .$cpt_label;
185
+ $cpt_labels['parent_item'] = ( $cpt_tax_type[0]["parent_item"] ) ? $cpt_tax_type[0]["parent_item"] : 'Parent ' .$cpt_singular_label;
186
+ $cpt_labels['parent_item_colon'] = ( $cpt_tax_type[0]["parent_item_colon"] ) ? $cpt_tax_type[0]["parent_item_colon"] : 'Parent ' .$cpt_singular_label. ':';
187
+ $cpt_labels['edit_item'] = ( $cpt_tax_type[0]["edit_item"] ) ? $cpt_tax_type[0]["edit_item"] : 'Edit ' .$cpt_singular_label;
188
+ $cpt_labels['update_item'] = ( $cpt_tax_type[0]["update_item"] ) ? $cpt_tax_type[0]["update_item"] : 'Update ' .$cpt_singular_label;
189
+ $cpt_labels['add_new_item'] = ( $cpt_tax_type[0]["add_new_item"] ) ? $cpt_tax_type[0]["add_new_item"] : 'Add New ' .$cpt_singular_label;
190
+ $cpt_labels['new_item_name'] = ( $cpt_tax_type[0]["new_item_name"] ) ? $cpt_tax_type[0]["new_item_name"] : 'New ' .$cpt_singular_label. ' Name';
191
+ $cpt_labels['separate_items_with_commas'] = ( $cpt_tax_type[0]["separate_items_with_commas"] ) ? $cpt_tax_type[0]["separate_items_with_commas"] : 'Separate ' .$cpt_label. ' with commas';
192
+ $cpt_labels['add_or_remove_items'] = ( $cpt_tax_type[0]["add_or_remove_items"] ) ? $cpt_tax_type[0]["add_or_remove_items"] : 'Add or remove ' .$cpt_label;
193
+ $cpt_labels['choose_from_most_used'] = ( $cpt_tax_type[0]["choose_from_most_used"] ) ? $cpt_tax_type[0]["choose_from_most_used"] : 'Choose from the most used ' .$cpt_label;
194
 
195
  //register our custom taxonomies
196
  register_taxonomy( $cpt_tax_type["name"],
201
  'query_var' => get_disp_boolean($cpt_tax_type["query_var"]),
202
  'rewrite' => array('slug' => $cpt_rewrite_slug),
203
  'singular_label' => $cpt_singular_label,
204
+ 'labels' => $cpt_labels,
205
+ 'show_admin_column' => $cpt_tax_show_admin_column
206
  ) );
207
 
208
  }
330
  wp_redirect( $RETURN_URL .'&cpt_error=1' );
331
  exit();
332
  }
333
+ if ( false !== strpos( $cpt_form_fields["name"], '\'' ) ||
334
+ false !== strpos( $cpt_form_fields["name"], '\"' ) ||
335
+ false !== strpos( $cpt_form_fields["rewrite_slug"], '\'' ) ||
336
+ false !== strpos( $cpt_form_fields["rewrite_slug"], '\"' ) ) {
337
+ if ( isset( $_GET['return'] ) ) {
338
+ $RETURN_URL = cpt_check_return( esc_attr( $_GET['return'] ) );
339
+ } else {
340
+ $RETURN_URL = $CPT_URL;
341
+ }
342
+
343
+ wp_redirect( $RETURN_URL .'&cpt_error=4' );
344
+ exit();
345
+ }
346
 
347
  //add support checkbox values to array
348
  $cpt_supports = ( isset( $_POST['cpt_supports'] ) ) ? $_POST['cpt_supports'] : null;
441
 
442
  wp_redirect( $RETURN_URL .'&cpt_error=2' );
443
  exit();
 
444
  } elseif ( empty( $_POST['cpt_post_types'] ) ) {
445
  if ( isset( $_GET['return'] ) ) {
446
  $RETURN_URL = cpt_check_return( esc_attr( $_GET['return'] ) );
450
 
451
  wp_redirect( $RETURN_URL .'&cpt_error=3' );
452
  exit();
453
+ }
454
 
455
+ if ( false !== strpos( $cpt_form_fields["name"], '\'' ) ||
456
+ false !== strpos( $cpt_form_fields["name"], '\"' ) ||
457
+ false !== strpos( $cpt_form_fields["rewrite_slug"], '\'' ) ||
458
+ false !== strpos( $cpt_form_fields["rewrite_slug"], '\"' ) ) {
459
+ if ( isset( $_GET['return'] ) ) {
460
+ $RETURN_URL = cpt_check_return( esc_attr( $_GET['return'] ) );
461
+ } else {
462
+ $RETURN_URL = $CPT_URL;
463
+ }
464
+
465
+ wp_redirect( $RETURN_URL .'&cpt_error=5' );
466
+ exit();
467
  }
468
 
469
  //add label values to array
510
 
511
  <h2><?php _e( 'Frequently Asked Questions', 'cpt-plugin' ); ?></h2>
512
  <p><?php _e( 'Please note that this plugin will NOT handle display of registered post types or taxonomies in your current theme. It will simply register them for you.', 'cpt-plugin' ); ?>
513
+ <h3><?php _e( 'Q: <strong>How can I display content from a custom post type on my website?</strong>', 'cpt-plugin' ); ?></h3>
514
  <p>
515
  <?php _e( 'A: Justin Tadlock has written some great posts on the topic:', 'cpt-plugin' ); ?><br />
516
  <a href="http://justintadlock.com/archives/2010/02/02/showing-custom-post-types-on-your-home-blog-page" target="_blank"><?php _e( 'Showing Custom Post Types on your Home Page', 'cpt-plugin' ); ?></a><br />
517
  <a href="http://justintadlock.com/archives/2010/04/29/custom-post-types-in-wordpress" target="_blank"><?php _e( 'Custom Post Types in WordPress', 'cpt-plugin' ); ?></a>
518
  </p>
519
+ <h3><?php _e( 'Q: <strong>How can I add custom meta boxes to my custom post types?</strong>', 'cpt-plugin' ); ?></h3>
520
  <p><?php _e( 'A: The More Fields plugin does a great job at creating custom meta boxes and fully supports custom post types: ', 'cpt-plugin' ); ?><a href="http://wordpress.org/extend/plugins/more-fields/" target="_blank">http://wordpress.org/extend/plugins/more-fields/</a>. The <a href="https://github.com/jaredatch/Custom-Metaboxes-and-Fields-for-WordPress" target="_blank">Custom Metaboxes and Fields for WordPress</a> class is a great alternative to a plugin for more advanced users.</p>
521
+ <h3><?php _e( 'Q: <strong>I changed my custom post type name and now I can\'t get to my posts</strong>', 'cpt-plugin' ); ?></h3>
522
  <p><?php _e( 'A: You can either change the custom post type name back to the original name or try the Post Type Switcher plugin: ', 'cpt-plugin' ); ?><a href="http://wordpress.org/extend/plugins/post-type-switcher/" target="_blank">http://wordpress.org/extend/plugins/post-type-switcher/</a></p>
523
  <div class="cp-rss-widget">
524
 
625
  $thecounter=0;
626
  $cpt_names = array();
627
  //Create urls for management
628
+ foreach ( $cpt_post_types as $cpt_post_type ) {
 
629
  $del_url = cpt_check_return( 'cpt' ) .'&deltype=' .$thecounter .'&return=cpt';
630
  $del_url = ( function_exists('wp_nonce_url') ) ? wp_nonce_url($del_url, 'cpt_delete_post_type') : $del_url;
631
 
663
  <?php
664
  // Begin the display for the "Get code" feature
665
  //display register_post_type code
666
+ $custom_post_type = '';
667
+ $cpt_support_array = '';
668
+ $cpt_tax_array = '';
669
+
670
+ $cpt_label = ( empty( $cpt_post_type["label"] ) ) ? esc_html($cpt_post_type["name"]) : esc_html($cpt_post_type["label"]);
671
+ $cpt_singular = ( empty( $cpt_post_type["singular_label"] ) ) ? $cpt_label : esc_html($cpt_post_type["singular_label"]);
672
+ $cpt_rewrite_slug = ( empty( $cpt_post_type["rewrite_slug"] ) ) ? esc_html($cpt_post_type["name"]) : esc_html($cpt_post_type["rewrite_slug"]);
673
+ $cpt_menu_position = ( empty( $cpt_post_type["menu_position"] ) ) ? null : intval($cpt_post_type["menu_position"]);
674
+ $cpt_menu_icon = ( !empty( $cpt_post_type["menu_icon"] ) ) ? esc_url($cpt_post_type["menu_icon"]) : null;
675
+
676
+ if ( true == $cpt_post_type["show_ui"] ) {
677
+ $cpt_show_in_menu = ( $cpt_post_type["show_in_menu"] == 1 ) ? 1 : 0;
678
+ $cpt_show_in_menu = ( $cpt_post_type["show_in_menu_string"] ) ? '\''.$cpt_post_type["show_in_menu_string"].'\'' : $cpt_show_in_menu;
679
+ } else {
680
+ $cpt_show_in_menu = 0;
681
+ }
682
  //set custom label values
683
  $cpt_labels['name'] = $cpt_label;
684
  $cpt_labels['singular_name'] = $cpt_post_type["singular_label"];
696
  $cpt_labels['parent'] = ( $cpt_post_type[2]["parent"] ) ? $cpt_post_type[2]["parent"] : 'Parent ' .$cpt_singular;
697
 
698
  if( is_array( $cpt_post_type[0] ) ) {
699
+ $counter = 1;
700
+ $count = count( $cpt_post_type[0] );
701
  foreach ( $cpt_post_type[0] as $cpt_supports ) {
702
+ //build supports variable
703
+ $cpt_support_array .= '\'' . $cpt_supports . '\'';
704
+ if ( $counter != $count )
705
+ $cpt_support_array .= ',';
706
+
707
+ $counter++;
708
  }
709
  }
710
 
711
  if( is_array( $cpt_post_type[1] ) ) {
712
+ $counter = 1;
713
+ $count = count( $cpt_post_type[1] );
714
  foreach ( $cpt_post_type[1] as $cpt_taxes ) {
715
  //build taxonomies variable
716
+ $cpt_tax_array .= '\''.$cpt_taxes.'\'';
717
+ if ( $counter != $count )
718
+ $cpt_tax_array .= ',';
719
+ $counter++;
720
  }
721
  }
722
+ $custom_post_type = "add_action('init', 'cptui_register_my_cpt_" . $cpt_post_type["name"] . "');\n";
723
+ $custom_post_type .= "function cptui_register_my_cpt_" . $cpt_post_type["name"] . "() {\n";
724
+ $custom_post_type .= "register_post_type('" . $cpt_post_type["name"] . "', array(\n'label' => '" . $cpt_label . "',\n";
725
  $custom_post_type .= "'description' => '" . $cpt_post_type["description"] . "',\n";
726
+ $custom_post_type .= "'public' => " . disp_boolean( $cpt_post_type["public"]) . ",\n";
727
+ $custom_post_type .= "'show_ui' => " . disp_boolean( $cpt_post_type["show_ui"]) . ",\n";
728
+ $custom_post_type .= "'show_in_menu' => " . disp_boolean( $cpt_show_in_menu) . ",\n";
729
  $custom_post_type .= "'capability_type' => '" . $cpt_post_type["capability_type"] . "',\n";
730
+ $custom_post_type .= "'map_meta_cap' => " . disp_boolean( '1' ) . ",\n";
731
+ $custom_post_type .= "'hierarchical' => " . disp_boolean( $cpt_post_type["hierarchical"] ) . ",\n";
732
+
733
+ if ( !empty( $cpt_post_type["rewrite_slug"] ) ) {
734
+ $custom_post_type .= "'rewrite' => array('slug' => '" . $cpt_post_type["rewrite_slug"] . "', 'with_front' => " . $cpt_post_type['rewrite_withfront'] . "),\n";
735
+ } else {
736
+ if( empty( $cpt_post_type['rewrite_withfront'] ) ) $cpt_post_type['rewrite_withfront'] = 1;
737
+ $custom_post_type .= "'rewrite' => array('slug' => '" . $cpt_post_type["name"] . "', 'with_front' => " . disp_boolean( $cpt_post_type['rewrite_withfront'] ) . "),\n";
738
+ }
739
 
740
+ $custom_post_type .= "'query_var' => " . disp_boolean($cpt_post_type["query_var"]) . ",\n";
741
 
742
+ if ( !empty( $cpt_post_type["has_archive"] ) ) {
743
+ $custom_post_type .= "'has_archive' => " . disp_boolean( $cpt_post_type["has_archive"] ) . ",\n";
744
  }
745
 
746
+ if ( !empty( $cpt_post_type["exclude_from_search"] ) ) {
747
+ $custom_post_type .= "'exclude_from_search' => " . disp_boolean( $cpt_post_type["exclude_from_search"] ) . ",\n";
748
  }
749
 
750
+ if ( !empty( $cpt_post_type["menu_position"] ) ) {
751
  $custom_post_type .= "'menu_position' => '" . $cpt_post_type["menu_position"] . "',\n";
752
  }
753
 
754
+ if ( !empty( $cpt_post_type["menu_icon"] ) ) {
755
  $custom_post_type .= "'menu_icon' => '" . $cpt_post_type["menu_icon"] . "',\n";
756
  }
757
 
758
+ $custom_post_type .= "'supports' => array(" . $cpt_support_array . "),\n";
759
 
760
+ if ( !empty( $cpt_tax_array ) ) {
761
+ $custom_post_type .= "'taxonomies' => array(" . $cpt_tax_array . "),\n";
762
  }
763
 
764
+ if ( !empty( $cpt_labels ) ) {
765
+ $custom_post_type .= "'labels' => " . var_export( $cpt_labels, true ) . "\n";
766
  }
767
 
768
  $custom_post_type .= ") ); }";
769
  echo '<p>';
770
  _e( 'Place the below code in your themes functions.php file to manually create this custom post type.', 'cpt-plugin' ).'<br>';
771
+ _e('This is a <strong>BETA</strong> feature. Please <a href="https://github.com/WebDevStudios/custom-post-type-ui">report bugs</a>.','cpt-plugin').'</p>';
772
+ echo '<textarea rows="10" cols="100">' .$custom_post_type .'</textarea>';
773
 
774
  ?>
775
  </div>
875
  <?php screen_icon( 'plugins' ); ?>
876
  <h2><?php _e('Manage Custom Taxonomies', 'cpt-plugin') ?></h2>
877
  <p><?php _e('Deleting custom taxonomies does <strong>NOT</strong> delete any content added to those taxonomies. You can easily recreate your taxonomies and the content will still exist.', 'cpt-plugin') ?></p>
878
+ <?php
879
  $cpt_tax_types = get_option( 'cpt_custom_tax_types', array() );
880
 
881
  if (is_array($cpt_tax_types)) {
945
  <div style="display:none;" id="slidepanel<?php echo $thecounter; ?>">
946
  <?php
947
  //display register_taxonomy code
 
948
  $custom_tax = '';
949
+ $custom_tax = "add_action('init', 'cptui_register_my_taxes_" . $cpt_tax_type['name'] . "');\n";
950
+ $custom_tax .= "function cptui_register_my_taxes_" . $cpt_tax_type['name'] . "() {\n";
951
 
952
+ if ( !$cpt_tax_type["label"] ) {
953
+ $cpt_label = esc_html( $cpt_tax_type["name"] );
954
+ } else {
955
+ $cpt_label = esc_html( $cpt_tax_type["label"] );
956
+ }
957
 
958
+ //check if singular label was filled out
959
+ if ( !$cpt_tax_type["singular_label"] ) {
960
+ $cpt_singular_label = esc_html( $cpt_tax_type["name"] );
961
+ } else {
962
+ $cpt_singular_label = esc_html( $cpt_tax_type["singular_label"] );
963
+ }
964
+
965
+ $labels = var_export( array(
966
+ 'search_items' => ( !empty( $cpt_tax_type["singular_label"] ) ) ? esc_html( $cpt_tax_type["singular_label"] ) : '',
967
+ 'popular_items' => ( !empty( $cpt_tax_type[0]["popular_items"] ) ) ? esc_html( $cpt_tax_type[0]["popular_items"] ) : '',
968
+ 'all_items' => ( !empty( $cpt_tax_type[0]["all_items"] ) ) ? esc_html( $cpt_tax_type[0]["all_items"] ) : '',
969
+ 'parent_item' => ( !empty( $cpt_tax_type[0]["parent_item"] ) ) ? esc_html( $cpt_tax_type[0]["parent_item"] ) : '',
970
+ 'parent_item_colon' => ( !empty( $cpt_tax_type[0]["parent_item_colon"] ) ) ? esc_html( $cpt_tax_type[0]["parent_item_colon"] ) : '',
971
+ 'edit_item' => ( !empty( $cpt_tax_type[0]["edit_item"] ) ) ? esc_html( $cpt_tax_type[0]["edit_item"] ) : '',
972
+ 'update_item' => ( !empty( $cpt_tax_type[0]["update_item"] ) ) ? esc_html( $cpt_tax_type[0]["update_item"] ) : '',
973
+ 'add_new_item' => ( !empty( $cpt_tax_type[0]["add_new_item"] ) ) ? esc_html( $cpt_tax_type[0]["add_new_item"] ) : '',
974
+ 'new_item_name' => ( !empty( $cpt_tax_type[0]["new_item_name"] ) ) ? esc_html( $cpt_tax_type[0]["new_item_name"] ) : '',
975
+ 'separate_items_with_commas' => ( !empty( $cpt_tax_type[0]["separate_items_with_commas"] ) ) ? esc_html( $cpt_tax_type[0]["separate_items_with_commas"] ) : '',
976
+ 'add_or_remove_items' => ( !empty( $cpt_tax_type[0]["add_or_remove_items"] ) ) ? esc_html( $cpt_tax_type[0]["add_or_remove_items"] ) : '',
977
+ 'choose_from_most_used' => ( !empty( $cpt_tax_type[0]["choose_from_most_used"] ) ) ? esc_html( $cpt_tax_type[0]["choose_from_most_used"] ) : ''
978
+ ), true );
979
+
980
+ $cpt_post_types = ( !$cpt_tax_type[1] ) ? $cpt_tax_type["cpt_name"] : var_export( $cpt_tax_type[1], true );
981
+
982
+ //register our custom taxonomies
983
+ $custom_tax .= "register_taxonomy( '" . $cpt_tax_type["name"] . "',";
984
+ $custom_tax .= $cpt_post_types . ",\n";
985
+ $custom_tax .= "array( 'hierarchical' => " . disp_boolean( $cpt_tax_type["hierarchical"] ) . ",\n";
986
+ $custom_tax .= "\t'label' => '" . $cpt_label . "',\n";
987
+ $custom_tax .= "\t'show_ui' => " . disp_boolean( $cpt_tax_type["show_ui"] ) . ",\n";
988
+ $custom_tax .= "\t'query_var' => " . disp_boolean( $cpt_tax_type["query_var"] ) . ",\n";
989
+ if ( !empty( $cpt_tax_type["rewrite_slug"] ) ) {
990
+ $custom_tax .= "\t'rewrite' => array( 'slug' => '" . $cpt_tax_type["rewrite_slug"] . "' ),\n";
991
+ }
992
 
 
 
 
 
 
 
993
 
994
+ if ( version_compare( CPTUI_WP_VERSION, '3.5', '>' ) ) {
995
+ $custom_tax .= "\t'show_admin_column' => " . disp_boolean( $cpt_tax_type["show_admin_column"] ) . ",\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
996
  }
997
+
998
+
999
+ if ( !empty( $labels ) )
1000
+ $custom_tax .= "\t'labels' => " . $labels . "\n";
1001
+ $custom_tax .= ") ); \n}";
1002
+
1003
+ echo '<br>';
1004
+ echo _e('Place the below code in your themes functions.php file to manually create this custom taxonomy','cpt-plugin').'<br>';
1005
+ echo _e('This is a <strong>BETA</strong> feature. Please <a href="http://webdevstudios.com/support/forum/custom-post-type-ui/">report bugs</a>.','cpt-plugin').'<br>';
1006
+ echo '<textarea rows="10" cols="100">' .$custom_tax .'</textarea>';
1007
  ?>
1008
  </div>
1009
  </td>
1036
  $cpt_options = get_option('cpt_custom_post_types');
1037
 
1038
  //load custom post type values to edit
1039
+ $cpt_post_type_name = ( isset( $cpt_options[ $editType ]["name"] ) ) ? $cpt_options[ $editType ]["name"] : null;
1040
+ $cpt_label = ( isset( $cpt_options[ $editType ]["label"] ) ) ? $cpt_options[ $editType ]["label"] : null;
1041
+ $cpt_singular_label = ( isset( $cpt_options[ $editType ]["singular_label"] ) ) ? $cpt_options[ $editType ]["singular_label"] : null;
1042
+ $cpt_public = ( isset( $cpt_options[ $editType ]["public"] ) ) ? $cpt_options[ $editType ]["public"] : null;
1043
+ $cpt_showui = ( isset( $cpt_options[ $editType ]["show_ui"] ) ) ? $cpt_options[ $editType ]["show_ui"] : null;
1044
+ $cpt_capability = ( isset( $cpt_options[ $editType ]["capability_type"] ) ) ? $cpt_options[ $editType ]["capability_type"] : null;
1045
+ $cpt_hierarchical = ( isset( $cpt_options[ $editType ]["hierarchical"] ) ) ? $cpt_options[ $editType ]["hierarchical"] : null;
1046
+ $cpt_rewrite = ( isset( $cpt_options[ $editType ]["rewrite"] ) ) ? $cpt_options[ $editType ]["rewrite"] : null;
1047
+ $cpt_rewrite_slug = ( isset( $cpt_options[ $editType ]["rewrite_slug"] ) ) ? $cpt_options[ $editType ]["rewrite_slug"] : null;
1048
+ $cpt_rewrite_withfront = ( isset( $cpt_options[ $editType ]["rewrite_withfront"] ) ) ? $cpt_options[ $editType ]["rewrite_withfront"] : null;
1049
+ $cpt_query_var = ( isset( $cpt_options[ $editType ]["query_var"] ) ) ? $cpt_options[ $editType ]["query_var"] : null;
1050
+ $cpt_description = ( isset( $cpt_options[ $editType ]["description"] ) ) ? $cpt_options[ $editType ]["description"] : null;
1051
+ $cpt_menu_position = ( isset( $cpt_options[ $editType ]["menu_position"] ) ) ? $cpt_options[ $editType ]["menu_position"] : null;
1052
+ $cpt_menu_icon = ( isset( $cpt_options[ $editType ]["menu_icon"] ) ) ? $cpt_options[ $editType ]["menu_icon"] : null;
1053
+ $cpt_supports = ( isset( $cpt_options[ $editType ][0] ) ) ? $cpt_options[ $editType ][0] : null;
1054
+ $cpt_taxes = ( isset( $cpt_options[ $editType ][1] ) )? $cpt_options[ $editType ][1] : null;
1055
+ $cpt_labels = ( isset( $cpt_options[ $editType ][2] ) ) ? $cpt_options[ $editType ][2] : null;
1056
+ $cpt_has_archive = ( isset( $cpt_options[$editType]["has_archive"] ) ) ? $cpt_options[$editType]["has_archive"] : null;
1057
+ $cpt_exclude_from_search = ( isset( $cpt_options[$editType]["exclude_from_search"] ) ) ? $cpt_options[$editType]["exclude_from_search"] : null;
1058
+ $cpt_show_in_menu = ( isset( $cpt_options[$editType]["show_in_menu"] ) ) ? $cpt_options[$editType]["show_in_menu"] : true;
1059
+ $cpt_show_in_menu_string = ( isset( $cpt_options[$editType]["show_in_menu_string"] ) ) ? $cpt_options[$editType]["show_in_menu_string"] : null;
1060
 
1061
  $cpt_submit_name = __( 'Save Custom Post Type', 'cpt-plugin' );
1062
  } else {
1072
  //load custom posts saved in WP
1073
  $cpt_options = get_option('cpt_custom_tax_types');
1074
 
1075
+ //load custom taxonomy values to edit
1076
  $cpt_tax_name = $cpt_options[$editTax]["name"];
1077
  $cpt_tax_label = stripslashes( $cpt_options[$editTax]["label"] );
1078
  $cpt_singular_label_tax = stripslashes( $cpt_options[$editTax]["singular_label"] );
1082
  $cpt_tax_query_var = $cpt_options[$editTax]["query_var"];
1083
  $cpt_tax_rewrite = $cpt_options[$editTax]["rewrite"];
1084
  $cpt_tax_rewrite_slug = $cpt_options[$editTax]["rewrite_slug"];
1085
+ $cpt_tax_show_admin_column = $cpt_options[$editTax]["show_admin_column"];
1086
  $cpt_tax_labels = stripslashes_deep( $cpt_options[$editTax][0] );
1087
  $cpt_post_types = $cpt_options[$editTax][1];
1088
 
1124
  }
1125
  if ( $_GET['cpt_error'] == 3 ) {
1126
  _e( 'You must assign your custom taxonomy to at least one post type.', 'cpt-plugin' );
1127
+ }
1128
+ if ( $_GET['cpt_error'] == 4 ) {
1129
+ _e( 'Please doe not use quotes in your post type slug or rewrite slug.', 'cpt-plugin' );
1130
+ }
1131
+ if ( $_GET['cpt_error'] == 5 ) {
1132
+ _e( 'Please doe not use quotes in your taxonomy slug or rewrite slug.', 'cpt-plugin' );
1133
  } ?>
1134
  </div>
1135
  <?php
1171
  <table class="form-table">
1172
  <tr valign="top">
1173
  <th scope="row"><?php _e('Post Type Name', 'cpt-plugin') ?> <span class="required">*</span> <a href="#" title="<?php esc_attr_e( 'The post type name. Used to retrieve custom post type content. Should be short and sweet', 'cpt-plugin'); ?>" class="help">?</a></th>
1174
+ <td><input type="text" name="cpt_custom_post_type[name]" tabindex="1" value="<?php if (isset($cpt_post_type_name)) { echo esc_attr($cpt_post_type_name); } ?>" maxlength="20" onblur="this.value=this.value.toLowerCase()" /> <?php _e( '(e.g. movie)', 'cpt-plugin' ); ?>
1175
  <br />
1176
  <p><strong><?php _e( 'Max 20 characters, can not contain capital letters or spaces. Reserved post types: post, page, attachment, revision, nav_menu_item.', 'cpt-plugin' ); ?></strong></p>
1177
  </td>
1333
  <tr valign="top">
1334
  <th scope="row"><?php _e('Hierarchical', 'cpt-plugin') ?> <a href="#" title="<?php esc_attr_e( 'Whether the post type can have parent-child relationships', 'cpt-plugin' ); ?>" class="help">?</a></th>
1335
  <td>
1336
+ <select name="cpt_custom_post_type[hierarchical]" tabindex="8">
1337
  <option value="0" <?php if (isset($cpt_hierarchical)) { if ($cpt_hierarchical == 0) { echo 'selected="selected"'; } } else { echo 'selected="selected"'; } ?>><?php _e( 'False', 'cpt-plugin' ); ?></option>
1338
  <option value="1" <?php if (isset($cpt_hierarchical)) { if ($cpt_hierarchical == 1) { echo 'selected="selected"'; } } ?>><?php _e( 'True', 'cpt-plugin' ); ?></option>
1339
  </select> <?php _e( '(default: False)', 'cpt-plugin' ); ?>
1343
  <tr valign="top">
1344
  <th scope="row"><?php _e('Rewrite', 'cpt-plugin') ?> <a href="#" title="<?php esc_attr_e( 'Triggers the handling of rewrites for this post type', 'cpt-plugin' ); ?>" class="help">?</a></th>
1345
  <td>
1346
+ <select name="cpt_custom_post_type[rewrite]" tabindex="9">
1347
  <option value="0" <?php if (isset($cpt_rewrite)) { if ($cpt_rewrite == 0 && $cpt_rewrite != '') { echo 'selected="selected"'; } } ?>><?php _e( 'False', 'cpt-plugin' ); ?></option>
1348
  <option value="1" <?php if (isset($cpt_rewrite)) { if ($cpt_rewrite == 1 || is_null($cpt_rewrite)) { echo 'selected="selected"'; } } else { echo 'selected="selected"'; } ?>><?php _e( 'True', 'cpt-plugin' ); ?></option>
1349
  </select> <?php _e( '(default: True)', 'cpt-plugin' ); ?>
1352
 
1353
  <tr valign="top">
1354
  <th scope="row"><?php _e('Custom Rewrite Slug', 'cpt-plugin') ?> <a href="#" title="<?php esc_attr_e( 'Custom slug to use instead of the default.' ,'cpt-plugin' ); ?>" class="help">?</a></th>
1355
+ <td><input type="text" name="cpt_custom_post_type[rewrite_slug]" tabindex="10" value="<?php if (isset($cpt_rewrite_slug)) { echo esc_attr($cpt_rewrite_slug); } ?>" /> <?php _e( '(default: post type name)', 'cpt-plugin' ); ?></td>
1356
  </tr>
1357
 
1358
  <tr valign="top">
1383
  </tr>
1384
 
1385
  <tr valign="top">
1386
+ <th scope="row"><?php _e('Show in Menu', 'cpt-plugin') ?> <a href="#" title="<?php esc_attr_e( 'Whether to show the post type in the admin menu and where to show that menu. Note that show_ui must be true', 'cpt-plugin' ); ?>" class="help">?</a>
1387
+ <p><?php _e( '"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.', 'cpt-plugins' ); ?></p>
1388
+ </th>
1389
  <td>
1390
+ <p><select name="cpt_custom_post_type[show_in_menu]" tabindex="10">
1391
+ <option value="0" <?php if (isset($cpt_show_in_menu)) { if ($cpt_show_in_menu == 0) { echo 'selected="selected"'; } } ?>><?php _e( 'False', 'cpt-plugin' ); ?></option>
1392
  <option value="1" <?php if (isset($cpt_show_in_menu)) { if ($cpt_show_in_menu == 1 || is_null($cpt_show_in_menu)) { echo 'selected="selected"'; } } else { echo 'selected="selected"'; } ?>><?php _e( 'True', 'cpt-plugin' ); ?></option>
1393
+ </select></p>
1394
+ <p>
1395
+ <input type="text" name="cpt_custom_post_type[show_in_menu_string]" tabindex="12" size="20" value="<?php if (isset($cpt_show_in_menu_string)) { echo esc_attr($cpt_show_in_menu_string); } ?>" /></p></td>
1396
  </tr>
1397
 
1398
  <tr valign="top">
1465
  <p><?php _e('Note: Changing the name, after adding terms to the taxonomy, will not update the terms in the database.', 'cpt-plugin' ); ?></p>
1466
  </th>
1467
  <td><input type="text" name="cpt_custom_tax[name]" maxlength="32" onblur="this.value=this.value.toLowerCase()" tabindex="21" value="<?php if (isset($cpt_tax_name)) { echo esc_attr($cpt_tax_name); } ?>" /> <?php _e( '(e.g. actors)', 'cpt-plugin' ); ?>
1468
+ <p><strong><?php _e( 'Max 32 characters, should only contain alphanumeric lowercase characters and underscores in place of spaces.', 'cpt-plugin' ); ?></strong></p>
1469
  </td>
1470
  </tr>
1471
 
1638
  <td><input type="text" name="cpt_custom_tax[rewrite_slug]" tabindex="9" value="<?php if (isset($cpt_tax_rewrite_slug)) { echo esc_attr($cpt_tax_rewrite_slug); } ?>" /> <?php _e( '(default: taxonomy name)', 'cpt-plugin' ); ?></td>
1639
  </tr>
1640
 
1641
+ <?php if ( version_compare( CPTUI_WP_VERSION, '3.5', '>' ) ) { ?>
1642
+ <tr valign="top">
1643
+ <th scope="row"><?php _e('Show Admin Column', 'cpt-plugin') ?> <a href="#" title="<?php esc_attr_e( 'Whether to allow automatic creation of taxonomy columns on associated post-types.', 'cpt-plugin' ); ?>" class="help">?</a></th>
1644
+ <td>
1645
+ <select name="cpt_custom_tax[show_admin_column]" tabindex="28">
1646
+ <?php if ( !isset( $cpt_tax_show_admin_column ) || $cpt_tax_show_admin_column == 0 ) { ?>
1647
+ <option value="0" selected="selected"><?php _e( 'False', 'cpt-plugin' ); ?></option>
1648
+ <option value="1"><?php _e( 'True', 'cpt-plugin' ); ?></option>
1649
+ <?php } else { ?>
1650
+ <option value="0"><?php _e( 'False', 'cpt-plugin' ); ?></option>
1651
+ <option value="1" selected="selected"><?php _e( 'True', 'cpt-plugin' ); ?></option>
1652
+ <?php } ?>
1653
+ </select> <?php _e( '(default: False)', 'cpt-plugin' ); ?>
1654
+ </td>
1655
+ </tr>
1656
+ <?php } ?>
1657
+
1658
  </table>
1659
  </div>
1660
 
1693
  }
1694
 
1695
  function get_disp_boolean($booText) {
1696
+ if ( empty( $booText ) || $booText == '0') {
1697
  return false;
1698
  }
1699
 
1701
  }
1702
 
1703
  function disp_boolean($booText) {
1704
+ if ( empty( $booText ) || $booText == '0' ) {
1705
  return 'false';
1706
  }
1707
 
languages/custom-post-type-ui.mo CHANGED
Binary file
languages/custom-post-type-ui.pot CHANGED
@@ -1,484 +1,973 @@
1
  msgid ""
2
  msgstr ""
3
- "Project-Id-Version: Custom Post Type UI\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2010-06-30 12:19-0500\n"
6
- "PO-Revision-Date: 2010-06-30 12:19-0500\n"
7
- "Last-Translator: Brad Williams <brad@webdevstudios.com>\n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
 
 
 
 
 
12
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
- #: C:\WDS\Project
15
- #: Files\Plugins\Custom Post Type
16
- #: UI\trunk/custom-post-type-ui.php:420
17
- msgid "Custom Post Types UI"
18
  msgstr ""
19
 
20
- #: C:\WDS\Project
21
- #: Files\Plugins\Custom Post Type
22
- #: UI\trunk/custom-post-type-ui.php:421
23
- msgid "Plugin version"
24
  msgstr ""
25
 
26
- #: C:\WDS\Project
27
- #: Files\Plugins\Custom Post Type
28
- #: UI\trunk/custom-post-type-ui.php:422
29
- msgid "WordPress version"
30
  msgstr ""
31
 
32
- #: C:\WDS\Project
33
- #: Files\Plugins\Custom Post Type
34
- #: UI\trunk/custom-post-type-ui.php:423
35
- msgid "Slightly Outdated Demo Video"
 
 
 
 
 
 
 
 
 
36
  msgstr ""
37
 
38
- #: C:\WDS\Project
39
- #: Files\Plugins\Custom Post Type
40
- #: UI\trunk/custom-post-type-ui.php:445
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  msgid "Custom post type deleted successfully"
42
  msgstr ""
43
 
44
- #: C:\WDS\Project
45
- #: Files\Plugins\Custom Post Type
46
- #: UI\trunk/custom-post-type-ui.php:450
47
  msgid "Manage Custom Post Types"
48
  msgstr ""
49
 
50
- #: C:\WDS\Project
51
- #: Files\Plugins\Custom Post Type
52
- #: UI\trunk/custom-post-type-ui.php:451
53
- msgid "Deleting custom post types does <strong>NOT</strong> delete any content added to those post types. You can easily recreate your post types and the content will still exist."
 
54
  msgstr ""
55
 
56
- #: C:\WDS\Project
57
- #: Files\Plugins\Custom Post Type
58
- #: UI\trunk/custom-post-type-ui.php:458
59
- #: UI\trunk/custom-post-type-ui.php:670
60
  msgid "Action"
61
  msgstr ""
62
 
63
- #: C:\WDS\Project
64
- #: Files\Plugins\Custom Post Type
65
- #: UI\trunk/custom-post-type-ui.php:459
66
- #: UI\trunk/custom-post-type-ui.php:592
67
- #: UI\trunk/custom-post-type-ui.php:671
68
  msgid "Name"
69
  msgstr ""
70
 
71
- #: C:\WDS\Project
72
- #: Files\Plugins\Custom Post Type
73
- #: UI\trunk/custom-post-type-ui.php:460
74
- #: UI\trunk/custom-post-type-ui.php:593
75
- #: UI\trunk/custom-post-type-ui.php:672
76
- #: UI\trunk/custom-post-type-ui.php:896
77
- #: UI\trunk/custom-post-type-ui.php:1113
78
  msgid "Label"
79
  msgstr ""
80
 
81
- #: C:\WDS\Project
82
- #: Files\Plugins\Custom Post Type
83
- #: UI\trunk/custom-post-type-ui.php:461
84
- #: UI\trunk/custom-post-type-ui.php:595
85
- #: UI\trunk/custom-post-type-ui.php:981
86
  msgid "Public"
87
  msgstr ""
88
 
89
- #: C:\WDS\Project
90
- #: Files\Plugins\Custom Post Type
91
- #: UI\trunk/custom-post-type-ui.php:462
92
- #: UI\trunk/custom-post-type-ui.php:596
93
- #: UI\trunk/custom-post-type-ui.php:676
94
- #: UI\trunk/custom-post-type-ui.php:991
95
- #: UI\trunk/custom-post-type-ui.php:1231
96
  msgid "Show UI"
97
  msgstr ""
98
 
99
- #: C:\WDS\Project
100
- #: Files\Plugins\Custom Post Type
101
- #: UI\trunk/custom-post-type-ui.php:463
102
- #: UI\trunk/custom-post-type-ui.php:598
103
- #: UI\trunk/custom-post-type-ui.php:675
104
- #: UI\trunk/custom-post-type-ui.php:1006
105
- #: UI\trunk/custom-post-type-ui.php:1221
106
  msgid "Hierarchical"
107
  msgstr ""
108
 
109
- #: C:\WDS\Project
110
- #: Files\Plugins\Custom Post Type
111
- #: UI\trunk/custom-post-type-ui.php:464
112
- #: UI\trunk/custom-post-type-ui.php:599
113
- #: UI\trunk/custom-post-type-ui.php:677
114
- #: UI\trunk/custom-post-type-ui.php:1016
115
- #: UI\trunk/custom-post-type-ui.php:1251
116
  msgid "Rewrite"
117
  msgstr ""
118
 
119
- #: C:\WDS\Project
120
- #: Files\Plugins\Custom Post Type
121
- #: UI\trunk/custom-post-type-ui.php:465
122
- #: UI\trunk/custom-post-type-ui.php:600
123
- #: UI\trunk/custom-post-type-ui.php:678
124
  msgid "Rewrite Slug"
125
  msgstr ""
126
 
127
- #: C:\WDS\Project
128
- #: Files\Plugins\Custom Post Type
129
- #: UI\trunk/custom-post-type-ui.php:466
130
  msgid "Total Published"
131
  msgstr ""
132
 
133
- #: C:\WDS\Project
134
- #: Files\Plugins\Custom Post Type
135
- #: UI\trunk/custom-post-type-ui.php:467
136
  msgid "Total Drafts"
137
  msgstr ""
138
 
139
- #: C:\WDS\Project
140
- #: Files\Plugins\Custom Post Type
141
- #: UI\trunk/custom-post-type-ui.php:468
142
- #: UI\trunk/custom-post-type-ui.php:1046
143
  msgid "Supports"
144
  msgstr ""
145
 
146
- #: C:\WDS\Project
147
- #: Files\Plugins\Custom Post Type
148
- #: UI\trunk/custom-post-type-ui.php:572
149
- msgid "Place the below code in your themes functions.php file to manually create this custom post type"
150
  msgstr ""
151
 
152
- #: C:\WDS\Project
153
- #: Files\Plugins\Custom Post Type
154
- #: UI\trunk/custom-post-type-ui.php:588
155
- msgid "Additional Custom Post Types"
156
  msgstr ""
157
 
158
- #: C:\WDS\Project
159
- #: Files\Plugins\Custom Post Type
160
- #: UI\trunk/custom-post-type-ui.php:589
161
- msgid "The custom post types below are registered in WordPress but were not created by the Custom Post Type UI Plugin."
162
  msgstr ""
163
 
164
- #: C:\WDS\Project
165
- #: Files\Plugins\Custom Post Type
166
- #: UI\trunk/custom-post-type-ui.php:594
167
- #: UI\trunk/custom-post-type-ui.php:673
168
- #: UI\trunk/custom-post-type-ui.php:901
169
- #: UI\trunk/custom-post-type-ui.php:1118
170
- msgid "Singular Label"
171
  msgstr ""
172
 
173
- #: C:\WDS\Project
174
- #: Files\Plugins\Custom Post Type
175
- #: UI\trunk/custom-post-type-ui.php:597
176
- #: UI\trunk/custom-post-type-ui.php:1001
177
- msgid "Capability Type"
 
 
 
178
  msgstr ""
179
 
180
- #: C:\WDS\Project
181
- #: Files\Plugins\Custom Post Type
182
- #: UI\trunk/custom-post-type-ui.php:601
183
- #: UI\trunk/custom-post-type-ui.php:1031
184
- #: UI\trunk/custom-post-type-ui.php:1241
 
 
 
185
  msgid "Query Var"
186
  msgstr ""
187
 
188
- #: C:\WDS\Project
189
- #: Files\Plugins\Custom Post Type
190
- #: UI\trunk/custom-post-type-ui.php:656
 
 
191
  msgid "Custom taxonomy deleted successfully"
192
  msgstr ""
193
 
194
- #: C:\WDS\Project
195
- #: Files\Plugins\Custom Post Type
196
- #: UI\trunk/custom-post-type-ui.php:661
197
  msgid "Manage Custom Taxonomies"
198
  msgstr ""
199
 
200
- #: C:\WDS\Project
201
- #: Files\Plugins\Custom Post Type
202
- #: UI\trunk/custom-post-type-ui.php:662
203
- msgid "Deleting custom taxonomies does <strong>NOT</strong> delete any content added to those taxonomies. You can easily recreate your taxonomies and the content will still exist."
 
204
  msgstr ""
205
 
206
- #: C:\WDS\Project
207
- #: Files\Plugins\Custom Post Type
208
- #: UI\trunk/custom-post-type-ui.php:674
 
 
 
209
  msgid "Attached Post Types"
210
  msgstr ""
211
 
212
- #: C:\WDS\Project
213
- #: Files\Plugins\Custom Post Type
214
- #: UI\trunk/custom-post-type-ui.php:749
215
- msgid "Place the below code in your themes functions.php file to manually create this custom taxonomy"
 
 
 
 
 
 
 
 
 
 
216
  msgstr ""
217
 
218
- #: C:\WDS\Project
219
- #: Files\Plugins\Custom Post Type
220
- #: UI\trunk/custom-post-type-ui.php:850
221
- msgid "Custom post type created successfully. You may need to refresh to view the new post type."
222
  msgstr ""
223
 
224
- #: C:\WDS\Project
225
- #: Files\Plugins\Custom Post Type
226
- #: UI\trunk/custom-post-type-ui.php:855
227
- msgid "Custom taxonomy created successfully. You may need to refresh to view the new taxonomy."
228
  msgstr ""
229
 
230
- #: C:\WDS\Project
231
- #: Files\Plugins\Custom Post Type
232
- #: UI\trunk/custom-post-type-ui.php:861
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  msgid "Post type name is a required field."
234
  msgstr ""
235
 
236
- #: C:\WDS\Project
237
- #: Files\Plugins\Custom Post Type
238
- #: UI\trunk/custom-post-type-ui.php:865
239
  msgid "Taxonomy name is a required field."
240
  msgstr ""
241
 
242
- #: C:\WDS\Project
243
- #: Files\Plugins\Custom Post Type
244
- #: UI\trunk/custom-post-type-ui.php:869
245
  msgid "You must assign your custom taxonomy to at least one post type."
246
  msgstr ""
247
 
248
- #: C:\WDS\Project
249
- #: Files\Plugins\Custom Post Type
250
- #: UI\trunk/custom-post-type-ui.php:878
251
- msgid "Edit Custom Post Type"
 
 
252
  msgstr ""
253
 
254
- #: C:\WDS\Project
255
- #: Files\Plugins\Custom Post Type
256
- #: UI\trunk/custom-post-type-ui.php:878
257
- #: UI\trunk/custom-post-type-ui.php:880
258
- #: UI\trunk/custom-post-type-ui.php:1095
259
- #: UI\trunk/custom-post-type-ui.php:1097
260
  msgid "Reset"
261
  msgstr ""
262
 
263
- #: C:\WDS\Project
264
- #: Files\Plugins\Custom Post Type
265
- #: UI\trunk/custom-post-type-ui.php:880
266
- msgid "Create New Custom Post Type"
267
  msgstr ""
268
 
269
- #: C:\WDS\Project
270
- #: Files\Plugins\Custom Post Type
271
- #: UI\trunk/custom-post-type-ui.php:882
272
- msgid "If you are unfamiliar with the options below only fill out the <strong>Post Type Name</strong> and <strong>Label</strong> fields and check which meta boxes to support. The other settings are set to the most common defaults for custom post types."
 
 
273
  msgstr ""
274
 
275
- #: C:\WDS\Project
276
- #: Files\Plugins\Custom Post Type
277
- #: UI\trunk/custom-post-type-ui.php:891
278
  msgid "Post Type Name"
279
  msgstr ""
280
 
281
- #: C:\WDS\Project
282
- #: Files\Plugins\Custom Post Type
283
- #: UI\trunk/custom-post-type-ui.php:906
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
284
  msgid "Description"
285
  msgstr ""
286
 
287
- #: C:\WDS\Project
288
- #: Files\Plugins\Custom Post Type
289
- #: UI\trunk/custom-post-type-ui.php:911
290
- #: UI\trunk/custom-post-type-ui.php:1147
291
- msgid "View Advanced Label Options"
292
  msgstr ""
293
 
294
- #: C:\WDS\Project
295
- #: Files\Plugins\Custom Post Type
296
- #: UI\trunk/custom-post-type-ui.php:912
297
- #: UI\trunk/custom-post-type-ui.php:1148
298
- msgid "View Advanced Options"
299
  msgstr ""
300
 
301
- #: C:\WDS\Project
302
- #: Files\Plugins\Custom Post Type
303
- #: UI\trunk/custom-post-type-ui.php:918
304
- msgid "Below are the advanced label options for custom post types. If you are unfamiliar with these labels the plugin will automatically create labels based off of your custom post type name"
305
  msgstr ""
306
 
307
- #: C:\WDS\Project
308
- #: Files\Plugins\Custom Post Type
309
- #: UI\trunk/custom-post-type-ui.php:921
310
- msgid "Add New"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
311
  msgstr ""
312
 
313
- #: C:\WDS\Project
314
- #: Files\Plugins\Custom Post Type
315
- #: UI\trunk/custom-post-type-ui.php:926
316
- #: UI\trunk/custom-post-type-ui.php:1192
317
  msgid "Add New Item"
318
  msgstr ""
319
 
320
- #: C:\WDS\Project
321
- #: Files\Plugins\Custom Post Type
322
- #: UI\trunk/custom-post-type-ui.php:931
323
- msgid "Edit"
324
  msgstr ""
325
 
326
- #: C:\WDS\Project
327
- #: Files\Plugins\Custom Post Type
328
- #: UI\trunk/custom-post-type-ui.php:936
329
- #: UI\trunk/custom-post-type-ui.php:1182
 
330
  msgid "Edit Item"
331
  msgstr ""
332
 
333
- #: C:\WDS\Project
334
- #: Files\Plugins\Custom Post Type
335
- #: UI\trunk/custom-post-type-ui.php:941
 
 
336
  msgid "New Item"
337
  msgstr ""
338
 
339
- #: C:\WDS\Project
340
- #: Files\Plugins\Custom Post Type
341
- #: UI\trunk/custom-post-type-ui.php:946
 
 
342
  msgid "View"
343
  msgstr ""
344
 
345
- #: C:\WDS\Project
346
- #: Files\Plugins\Custom Post Type
347
- #: UI\trunk/custom-post-type-ui.php:951
 
 
348
  msgid "View Item"
349
  msgstr ""
350
 
351
- #: C:\WDS\Project
352
- #: Files\Plugins\Custom Post Type
353
- #: UI\trunk/custom-post-type-ui.php:956
354
- #: UI\trunk/custom-post-type-ui.php:1157
355
  msgid "Search Items"
356
  msgstr ""
357
 
358
- #: C:\WDS\Project
359
- #: Files\Plugins\Custom Post Type
360
- #: UI\trunk/custom-post-type-ui.php:961
 
 
361
  msgid "Not Found"
362
  msgstr ""
363
 
364
- #: C:\WDS\Project
365
- #: Files\Plugins\Custom Post Type
366
- #: UI\trunk/custom-post-type-ui.php:966
 
 
367
  msgid "Not Found in Trash"
368
  msgstr ""
369
 
370
- #: C:\WDS\Project
371
- #: Files\Plugins\Custom Post Type
372
- #: UI\trunk/custom-post-type-ui.php:971
 
 
373
  msgid "Parent"
374
  msgstr ""
375
 
376
- #: C:\WDS\Project
377
- #: Files\Plugins\Custom Post Type
378
- #: UI\trunk/custom-post-type-ui.php:1026
379
- #: UI\trunk/custom-post-type-ui.php:1261
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
380
  msgid "Custom Rewrite Slug"
381
  msgstr ""
382
 
383
- #: C:\WDS\Project
384
- #: Files\Plugins\Custom Post Type
385
- #: UI\trunk/custom-post-type-ui.php:1041
 
 
 
 
 
 
 
 
 
 
 
 
 
 
386
  msgid "Menu Position"
387
  msgstr ""
388
 
389
- #: C:\WDS\Project
390
- #: Files\Plugins\Custom Post Type
391
- #: UI\trunk/custom-post-type-ui.php:1062
392
- msgid "Built-in Taxonomies"
393
  msgstr ""
394
 
395
- #: C:\WDS\Project
396
- #: Files\Plugins\Custom Post Type
397
- #: UI\trunk/custom-post-type-ui.php:1095
398
- msgid "Edit Custom Taxonomy"
 
399
  msgstr ""
400
 
401
- #: C:\WDS\Project
402
- #: Files\Plugins\Custom Post Type
403
- #: UI\trunk/custom-post-type-ui.php:1097
404
- msgid "Create Custom Taxonomy"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
405
  msgstr ""
406
 
407
- #: C:\WDS\Project
408
- #: Files\Plugins\Custom Post Type
409
- #: UI\trunk/custom-post-type-ui.php:1099
410
- msgid "If you are unfamiliar with the options below only fill out the <strong>Taxonomy Name</strong> and <strong>Post Type Name</strong> fields. The other settings are set to the most common defaults for custom taxonomies."
411
  msgstr ""
412
 
413
- #: C:\WDS\Project
414
- #: Files\Plugins\Custom Post Type
415
- #: UI\trunk/custom-post-type-ui.php:1108
 
 
 
 
 
 
 
 
 
 
416
  msgid "Taxonomy Name"
417
  msgstr ""
418
 
419
- #: C:\WDS\Project
420
- #: Files\Plugins\Custom Post Type
421
- #: UI\trunk/custom-post-type-ui.php:1123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
422
  msgid "Attach to Post Type"
423
  msgstr ""
424
 
425
- #: C:\WDS\Project
426
- #: Files\Plugins\Custom Post Type
427
- #: UI\trunk/custom-post-type-ui.php:1154
428
- msgid "Below are the advanced label options for custom taxonomies. If you are unfamiliar with these labels the plugin will automatically create labels based off of your custom taxonomy name"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
429
  msgstr ""
430
 
431
- #: C:\WDS\Project
432
- #: Files\Plugins\Custom Post Type
433
- #: UI\trunk/custom-post-type-ui.php:1162
434
  msgid "Popular Items"
435
  msgstr ""
436
 
437
- #: C:\WDS\Project
438
- #: Files\Plugins\Custom Post Type
439
- #: UI\trunk/custom-post-type-ui.php:1167
 
 
440
  msgid "All Items"
441
  msgstr ""
442
 
443
- #: C:\WDS\Project
444
- #: Files\Plugins\Custom Post Type
445
- #: UI\trunk/custom-post-type-ui.php:1172
 
 
446
  msgid "Parent Item"
447
  msgstr ""
448
 
449
- #: C:\WDS\Project
450
- #: Files\Plugins\Custom Post Type
451
- #: UI\trunk/custom-post-type-ui.php:1177
 
 
452
  msgid "Parent Item Colon"
453
  msgstr ""
454
 
455
- #: C:\WDS\Project
456
- #: Files\Plugins\Custom Post Type
457
- #: UI\trunk/custom-post-type-ui.php:1187
 
 
 
 
 
 
458
  msgid "Update Item"
459
  msgstr ""
460
 
461
- #: C:\WDS\Project
462
- #: Files\Plugins\Custom Post Type
463
- #: UI\trunk/custom-post-type-ui.php:1197
 
 
 
 
 
 
464
  msgid "New Item Name"
465
  msgstr ""
466
 
467
- #: C:\WDS\Project
468
- #: Files\Plugins\Custom Post Type
469
- #: UI\trunk/custom-post-type-ui.php:1202
 
 
470
  msgid "Separate Items with Commas"
471
  msgstr ""
472
 
473
- #: C:\WDS\Project
474
- #: Files\Plugins\Custom Post Type
475
- #: UI\trunk/custom-post-type-ui.php:1207
 
 
476
  msgid "Add or Remove Items"
477
  msgstr ""
478
 
479
- #: C:\WDS\Project
480
- #: Files\Plugins\Custom Post Type
481
- #: UI\trunk/custom-post-type-ui.php:1212
 
 
482
  msgid "Choose From Most Used"
483
  msgstr ""
484
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  msgid ""
2
  msgstr ""
3
+ "Project-Id-Version: Custom Post Type UI 0.8\n"
4
+ "POT-Creation-Date: 2013-09-08 19:13-0600\n"
5
+ "PO-Revision-Date: 2013-09-08 19:13-0600\n"
6
+ "Last-Translator: \n"
 
7
  "Language-Team: \n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "X-Generator: Poedit 1.5.7\n"
12
+ "X-Poedit-KeywordsList: __;_e;esc_attr__;esc_attr_e;esc_attr_x;_n;_x;_ex;_nx;"
13
+ "esc_html__;esc_html_e;esc_html_x\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Poedit-SearchPath-0: ..\n"
16
 
17
+ #: ../custom-post-type-ui.php:52
18
+ msgid "Custom Post Types"
19
+ msgstr ""
20
+
21
+ #: ../custom-post-type-ui.php:52
22
+ msgid "CPT UI"
23
+ msgstr ""
24
+
25
+ #: ../custom-post-type-ui.php:55 ../custom-post-type-ui.php:1214
26
+ msgid "Add New"
27
+ msgstr ""
28
 
29
+ #: ../custom-post-type-ui.php:56
30
+ msgid "Manage Post Types"
 
 
31
  msgstr ""
32
 
33
+ #: ../custom-post-type-ui.php:57
34
+ msgid "Manage Taxonomies"
 
 
35
  msgstr ""
36
 
37
+ #: ../custom-post-type-ui.php:505 ../custom-post-type-ui.php:1673
38
+ msgid "Custom Post Type UI"
 
 
39
  msgstr ""
40
 
41
+ #: ../custom-post-type-ui.php:505 ../custom-post-type-ui.php:1673
42
+ msgid "version"
43
+ msgstr ""
44
+
45
+ #: ../custom-post-type-ui.php:507
46
+ msgid "Frequently Asked Questions"
47
+ msgstr ""
48
+
49
+ #: ../custom-post-type-ui.php:508
50
+ msgid ""
51
+ "Please note that this plugin will NOT handle display of registered post "
52
+ "types or taxonomies in your current theme. It will simply register them for "
53
+ "you."
54
  msgstr ""
55
 
56
+ #: ../custom-post-type-ui.php:509
57
+ msgid ""
58
+ "Q: <strong>How can I display content from a custom post type on my website?</"
59
+ "strong>"
60
+ msgstr ""
61
+
62
+ #: ../custom-post-type-ui.php:511
63
+ msgid "A: Justin Tadlock has written some great posts on the topic:"
64
+ msgstr ""
65
+
66
+ #: ../custom-post-type-ui.php:512
67
+ msgid "Showing Custom Post Types on your Home Page"
68
+ msgstr ""
69
+
70
+ #: ../custom-post-type-ui.php:513
71
+ msgid "Custom Post Types in WordPress"
72
+ msgstr ""
73
+
74
+ #: ../custom-post-type-ui.php:515
75
+ msgid ""
76
+ "Q: <strong>How can I add custom meta boxes to my custom post types?</strong>"
77
+ msgstr ""
78
+
79
+ #: ../custom-post-type-ui.php:516
80
+ msgid ""
81
+ "A: The More Fields plugin does a great job at creating custom meta boxes and "
82
+ "fully supports custom post types: "
83
+ msgstr ""
84
+
85
+ #: ../custom-post-type-ui.php:517
86
+ msgid ""
87
+ "Q: <strong>I changed my custom post type name and now I can't get to my "
88
+ "posts</strong>"
89
+ msgstr ""
90
+
91
+ #: ../custom-post-type-ui.php:518
92
+ msgid ""
93
+ "A: You can either change the custom post type name back to the original name "
94
+ "or try the Post Type Switcher plugin: "
95
+ msgstr ""
96
+
97
+ #: ../custom-post-type-ui.php:523
98
+ msgid "Help Support This Plugin!"
99
+ msgstr ""
100
+
101
+ #: ../custom-post-type-ui.php:526
102
+ msgid "PayPal Donation"
103
+ msgstr ""
104
+
105
+ #: ../custom-post-type-ui.php:527
106
+ msgid "Professional WordPress<br />Second Edition"
107
+ msgstr ""
108
+
109
+ #: ../custom-post-type-ui.php:528
110
+ msgid "Professional WordPress<br />Plugin Development"
111
+ msgstr ""
112
+
113
+ #: ../custom-post-type-ui.php:532
114
+ msgid "Please donate to the development<br />of Custom Post Type UI:"
115
+ msgstr ""
116
+
117
+ #: ../custom-post-type-ui.php:541
118
+ msgid ""
119
+ "The leading book on WordPress design and development!<br /><strong>Brand new "
120
+ "second edition!"
121
+ msgstr ""
122
+
123
+ #: ../custom-post-type-ui.php:542
124
+ msgid "Highest rated WordPress development book on Amazon!"
125
+ msgstr ""
126
+
127
+ #: ../custom-post-type-ui.php:545
128
+ msgid "WebDevStudios.com Recent News"
129
+ msgstr ""
130
+
131
+ #: ../custom-post-type-ui.php:550
132
+ msgid "WebDevStudios.com News"
133
+ msgstr ""
134
+
135
+ #: ../custom-post-type-ui.php:576
136
  msgid "Custom post type deleted successfully"
137
  msgstr ""
138
 
139
+ #: ../custom-post-type-ui.php:582
 
 
140
  msgid "Manage Custom Post Types"
141
  msgstr ""
142
 
143
+ #: ../custom-post-type-ui.php:583
144
+ msgid ""
145
+ "Deleting custom post types will <strong>NOT</strong> delete any content into "
146
+ "the database or added to those post types. You can easily recreate your "
147
+ "post types and the content will still exist."
148
  msgstr ""
149
 
150
+ #: ../custom-post-type-ui.php:592 ../custom-post-type-ui.php:607
151
+ #: ../custom-post-type-ui.php:882 ../custom-post-type-ui.php:895
 
 
152
  msgid "Action"
153
  msgstr ""
154
 
155
+ #: ../custom-post-type-ui.php:593 ../custom-post-type-ui.php:608
156
+ #: ../custom-post-type-ui.php:798 ../custom-post-type-ui.php:810
157
+ #: ../custom-post-type-ui.php:883 ../custom-post-type-ui.php:896
 
 
158
  msgid "Name"
159
  msgstr ""
160
 
161
+ #: ../custom-post-type-ui.php:594 ../custom-post-type-ui.php:609
162
+ #: ../custom-post-type-ui.php:799 ../custom-post-type-ui.php:811
163
+ #: ../custom-post-type-ui.php:884 ../custom-post-type-ui.php:897
164
+ #: ../custom-post-type-ui.php:1177 ../custom-post-type-ui.php:1469
 
 
 
165
  msgid "Label"
166
  msgstr ""
167
 
168
+ #: ../custom-post-type-ui.php:595 ../custom-post-type-ui.php:610
169
+ #: ../custom-post-type-ui.php:800 ../custom-post-type-ui.php:812
170
+ #: ../custom-post-type-ui.php:1285
 
 
171
  msgid "Public"
172
  msgstr ""
173
 
174
+ #: ../custom-post-type-ui.php:596 ../custom-post-type-ui.php:611
175
+ #: ../custom-post-type-ui.php:801 ../custom-post-type-ui.php:813
176
+ #: ../custom-post-type-ui.php:888 ../custom-post-type-ui.php:901
177
+ #: ../custom-post-type-ui.php:1295 ../custom-post-type-ui.php:1603
 
 
 
178
  msgid "Show UI"
179
  msgstr ""
180
 
181
+ #: ../custom-post-type-ui.php:597 ../custom-post-type-ui.php:612
182
+ #: ../custom-post-type-ui.php:802 ../custom-post-type-ui.php:814
183
+ #: ../custom-post-type-ui.php:887 ../custom-post-type-ui.php:900
184
+ #: ../custom-post-type-ui.php:1330 ../custom-post-type-ui.php:1593
 
 
 
185
  msgid "Hierarchical"
186
  msgstr ""
187
 
188
+ #: ../custom-post-type-ui.php:598 ../custom-post-type-ui.php:613
189
+ #: ../custom-post-type-ui.php:803 ../custom-post-type-ui.php:815
190
+ #: ../custom-post-type-ui.php:889 ../custom-post-type-ui.php:902
191
+ #: ../custom-post-type-ui.php:1340 ../custom-post-type-ui.php:1623
 
 
 
192
  msgid "Rewrite"
193
  msgstr ""
194
 
195
+ #: ../custom-post-type-ui.php:599 ../custom-post-type-ui.php:614
196
+ #: ../custom-post-type-ui.php:804 ../custom-post-type-ui.php:816
197
+ #: ../custom-post-type-ui.php:890 ../custom-post-type-ui.php:903
 
 
198
  msgid "Rewrite Slug"
199
  msgstr ""
200
 
201
+ #: ../custom-post-type-ui.php:600 ../custom-post-type-ui.php:615
 
 
202
  msgid "Total Published"
203
  msgstr ""
204
 
205
+ #: ../custom-post-type-ui.php:601 ../custom-post-type-ui.php:616
 
 
206
  msgid "Total Drafts"
207
  msgstr ""
208
 
209
+ #: ../custom-post-type-ui.php:602 ../custom-post-type-ui.php:617
210
+ #: ../custom-post-type-ui.php:1401
 
 
211
  msgid "Supports"
212
  msgstr ""
213
 
214
+ #: ../custom-post-type-ui.php:636 ../custom-post-type-ui.php:919
215
+ msgid "Delete"
 
 
216
  msgstr ""
217
 
218
+ #: ../custom-post-type-ui.php:636 ../custom-post-type-ui.php:919
219
+ #: ../custom-post-type-ui.php:1226
220
+ msgid "Edit"
 
221
  msgstr ""
222
 
223
+ #: ../custom-post-type-ui.php:636 ../custom-post-type-ui.php:919
224
+ msgid "Get Code"
 
 
225
  msgstr ""
226
 
227
+ #: ../custom-post-type-ui.php:766
228
+ msgid ""
229
+ "Place the below code in your themes functions.php file to manually create "
230
+ "this custom post type."
 
 
 
231
  msgstr ""
232
 
233
+ #: ../custom-post-type-ui.php:767
234
+ msgid ""
235
+ "This is a <strong>BETA</strong> feature. Please <a href=\"https://github.com/"
236
+ "WebDevStudios/custom-post-type-ui\">report bugs</a>."
237
+ msgstr ""
238
+
239
+ #: ../custom-post-type-ui.php:788
240
+ msgid "Additional Custom Post Types"
241
  msgstr ""
242
 
243
+ #: ../custom-post-type-ui.php:789
244
+ msgid ""
245
+ "The custom post types below are registered in WordPress but were not created "
246
+ "by the Custom Post Type UI Plugin."
247
+ msgstr ""
248
+
249
+ #: ../custom-post-type-ui.php:805 ../custom-post-type-ui.php:817
250
+ #: ../custom-post-type-ui.php:1365 ../custom-post-type-ui.php:1613
251
  msgid "Query Var"
252
  msgstr ""
253
 
254
+ #: ../custom-post-type-ui.php:842
255
+ msgid "No additional post types found"
256
+ msgstr ""
257
+
258
+ #: ../custom-post-type-ui.php:866
259
  msgid "Custom taxonomy deleted successfully"
260
  msgstr ""
261
 
262
+ #: ../custom-post-type-ui.php:872
 
 
263
  msgid "Manage Custom Taxonomies"
264
  msgstr ""
265
 
266
+ #: ../custom-post-type-ui.php:873
267
+ msgid ""
268
+ "Deleting custom taxonomies does <strong>NOT</strong> delete any content "
269
+ "added to those taxonomies. You can easily recreate your taxonomies and the "
270
+ "content will still exist."
271
  msgstr ""
272
 
273
+ #: ../custom-post-type-ui.php:885 ../custom-post-type-ui.php:898
274
+ #: ../custom-post-type-ui.php:1182 ../custom-post-type-ui.php:1474
275
+ msgid "Singular Label"
276
+ msgstr ""
277
+
278
+ #: ../custom-post-type-ui.php:886 ../custom-post-type-ui.php:899
279
  msgid "Attached Post Types"
280
  msgstr ""
281
 
282
+ #: ../custom-post-type-ui.php:1000
283
+ msgid ""
284
+ "Place the below code in your themes functions.php file to manually create "
285
+ "this custom taxonomy"
286
+ msgstr ""
287
+
288
+ #: ../custom-post-type-ui.php:1001
289
+ msgid ""
290
+ "This is a <strong>BETA</strong> feature. Please <a href=\"http://"
291
+ "webdevstudios.com/support/forum/custom-post-type-ui/\">report bugs</a>."
292
+ msgstr ""
293
+
294
+ #: ../custom-post-type-ui.php:1057
295
+ msgid "Save Custom Post Type"
296
  msgstr ""
297
 
298
+ #: ../custom-post-type-ui.php:1059
299
+ msgid "Create Custom Post Type"
 
 
300
  msgstr ""
301
 
302
+ #: ../custom-post-type-ui.php:1085
303
+ msgid "Save Custom Taxonomy"
 
 
304
  msgstr ""
305
 
306
+ #: ../custom-post-type-ui.php:1087
307
+ msgid "Create Custom Taxonomy"
308
+ msgstr ""
309
+
310
+ #: ../custom-post-type-ui.php:1104
311
+ msgid ""
312
+ "Custom post type created successfully. You may need to refresh to view the "
313
+ "new post type in the admin menu."
314
+ msgstr ""
315
+
316
+ #: ../custom-post-type-ui.php:1105
317
+ msgid "Manage custom post types"
318
+ msgstr ""
319
+
320
+ #: ../custom-post-type-ui.php:1107
321
+ msgid ""
322
+ "Custom taxonomy created successfully. You may need to refresh to view the "
323
+ "new taxonomy in the admin menu."
324
+ msgstr ""
325
+
326
+ #: ../custom-post-type-ui.php:1108
327
+ msgid "Manage custom taxonomies"
328
+ msgstr ""
329
+
330
+ #: ../custom-post-type-ui.php:1116
331
  msgid "Post type name is a required field."
332
  msgstr ""
333
 
334
+ #: ../custom-post-type-ui.php:1119
 
 
335
  msgid "Taxonomy name is a required field."
336
  msgstr ""
337
 
338
+ #: ../custom-post-type-ui.php:1122
 
 
339
  msgid "You must assign your custom taxonomy to at least one post type."
340
  msgstr ""
341
 
342
+ #: ../custom-post-type-ui.php:1125
343
+ msgid "Please doe not use quotes in your post type slug or rewrite slug."
344
+ msgstr ""
345
+
346
+ #: ../custom-post-type-ui.php:1128
347
+ msgid "Please doe not use quotes in your taxonomy slug or rewrite slug."
348
  msgstr ""
349
 
350
+ #: ../custom-post-type-ui.php:1139
351
+ msgid "Edit Custom Post Type or Taxonomy"
352
+ msgstr ""
353
+
354
+ #: ../custom-post-type-ui.php:1141 ../custom-post-type-ui.php:1148
 
355
  msgid "Reset"
356
  msgstr ""
357
 
358
+ #: ../custom-post-type-ui.php:1146
359
+ msgid "Create New Custom Post Type or Taxonomy"
 
 
360
  msgstr ""
361
 
362
+ #: ../custom-post-type-ui.php:1158
363
+ msgid ""
364
+ "If you are unfamiliar with the options below only fill out the <strong>Post "
365
+ "Type Name</strong> and <strong>Label</strong> fields and check which meta "
366
+ "boxes to support. The other settings are set to the most common defaults "
367
+ "for custom post types. Hover over the question mark for more details."
368
  msgstr ""
369
 
370
+ #: ../custom-post-type-ui.php:1169
 
 
371
  msgid "Post Type Name"
372
  msgstr ""
373
 
374
+ #: ../custom-post-type-ui.php:1169
375
+ msgid ""
376
+ "The post type name. Used to retrieve custom post type content. Should be "
377
+ "short and sweet"
378
+ msgstr ""
379
+
380
+ #: ../custom-post-type-ui.php:1170
381
+ msgid "(e.g. movie)"
382
+ msgstr ""
383
+
384
+ #: ../custom-post-type-ui.php:1172
385
+ msgid ""
386
+ "Max 20 characters, can not contain capital letters or spaces. Reserved post "
387
+ "types: post, page, attachment, revision, nav_menu_item."
388
+ msgstr ""
389
+
390
+ #: ../custom-post-type-ui.php:1177 ../custom-post-type-ui.php:1214
391
+ #: ../custom-post-type-ui.php:1220 ../custom-post-type-ui.php:1226
392
+ #: ../custom-post-type-ui.php:1232 ../custom-post-type-ui.php:1238
393
+ #: ../custom-post-type-ui.php:1244 ../custom-post-type-ui.php:1250
394
+ #: ../custom-post-type-ui.php:1256 ../custom-post-type-ui.php:1262
395
+ #: ../custom-post-type-ui.php:1268 ../custom-post-type-ui.php:1274
396
+ msgid "Post type label. Used in the admin menu for displaying post types."
397
+ msgstr ""
398
+
399
+ #: ../custom-post-type-ui.php:1178
400
+ msgid "(e.g. Movies)"
401
+ msgstr ""
402
+
403
+ #: ../custom-post-type-ui.php:1182
404
+ msgid ""
405
+ "Custom Post Type Singular label. Used in WordPress when a singular label is "
406
+ "needed."
407
+ msgstr ""
408
+
409
+ #: ../custom-post-type-ui.php:1183
410
+ msgid "(e.g. Movie)"
411
+ msgstr ""
412
+
413
+ #: ../custom-post-type-ui.php:1188
414
  msgid "Description"
415
  msgstr ""
416
 
417
+ #: ../custom-post-type-ui.php:1188
418
+ msgid ""
419
+ "Custom Post Type Description. Describe what your custom post type is used "
420
+ "for."
 
421
  msgstr ""
422
 
423
+ #: ../custom-post-type-ui.php:1195 ../custom-post-type-ui.php:1505
424
+ msgid "Advanced Label Options"
 
 
 
425
  msgstr ""
426
 
427
+ #: ../custom-post-type-ui.php:1196 ../custom-post-type-ui.php:1506
428
+ msgid "Advanced Options"
 
 
429
  msgstr ""
430
 
431
+ #: ../custom-post-type-ui.php:1204
432
+ msgid ""
433
+ "Below are the advanced label options for custom post types. If you are "
434
+ "unfamiliar with these labels, leave them blank and the plugin will "
435
+ "automatically create labels based off of your custom post type name"
436
+ msgstr ""
437
+
438
+ #: ../custom-post-type-ui.php:1208
439
+ msgid "Menu Name"
440
+ msgstr ""
441
+
442
+ #: ../custom-post-type-ui.php:1208
443
+ msgid "Custom menu name for your custom post type."
444
+ msgstr ""
445
+
446
+ #: ../custom-post-type-ui.php:1210
447
+ msgid "(e.g. My Movies)"
448
+ msgstr ""
449
+
450
+ #: ../custom-post-type-ui.php:1216
451
+ msgid "(e.g. Add New)"
452
  msgstr ""
453
 
454
+ #: ../custom-post-type-ui.php:1220 ../custom-post-type-ui.php:1559
 
 
 
455
  msgid "Add New Item"
456
  msgstr ""
457
 
458
+ #: ../custom-post-type-ui.php:1222
459
+ msgid "(e.g. Add New Movie)"
 
 
460
  msgstr ""
461
 
462
+ #: ../custom-post-type-ui.php:1228
463
+ msgid "(e.g. Edit)"
464
+ msgstr ""
465
+
466
+ #: ../custom-post-type-ui.php:1232 ../custom-post-type-ui.php:1547
467
  msgid "Edit Item"
468
  msgstr ""
469
 
470
+ #: ../custom-post-type-ui.php:1234
471
+ msgid "(e.g. Edit Movie)"
472
+ msgstr ""
473
+
474
+ #: ../custom-post-type-ui.php:1238
475
  msgid "New Item"
476
  msgstr ""
477
 
478
+ #: ../custom-post-type-ui.php:1240
479
+ msgid "(e.g. New Movie)"
480
+ msgstr ""
481
+
482
+ #: ../custom-post-type-ui.php:1244
483
  msgid "View"
484
  msgstr ""
485
 
486
+ #: ../custom-post-type-ui.php:1246 ../custom-post-type-ui.php:1252
487
+ msgid "(e.g. View Movie)"
488
+ msgstr ""
489
+
490
+ #: ../custom-post-type-ui.php:1250
491
  msgid "View Item"
492
  msgstr ""
493
 
494
+ #: ../custom-post-type-ui.php:1256 ../custom-post-type-ui.php:1517