Nessuna descrizione

class-woo-custom-emails-per-product-cpt.php 4.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. class Woo_Custom_Emails_Per_Product_CPT {
  3. /**
  4. * Creates a new custom post type
  5. *
  6. * @since 2.0.0
  7. * @access public
  8. * @uses register_post_type()
  9. */
  10. public static function new_cpt_wcemails() {
  11. $cap_type = 'post';
  12. $plural = 'Woo Custom Email Messages';
  13. $single = 'WCE Message';
  14. $cpt_name = 'woocustomemails';
  15. $opts['can_export'] = TRUE;
  16. $opts['capability_type'] = $cap_type;
  17. $opts['description'] = '';
  18. $opts['exclude_from_search'] = TRUE;
  19. $opts['has_archive'] = TRUE;
  20. $opts['hierarchical'] = FALSE;
  21. $opts['map_meta_cap'] = TRUE;
  22. $opts['menu_icon'] = 'dashicons-email-alt';
  23. $opts['menu_position'] = 50;
  24. $opts['public'] = FALSE;
  25. $opts['publicly_querable'] = FALSE;
  26. $opts['register_meta_box_cb'] = '';
  27. $opts['rewrite'] = FALSE;
  28. $opts['show_in_admin_bar'] = TRUE;
  29. $opts['show_in_menu'] = TRUE;
  30. $opts['show_in_nav_menu'] = TRUE;
  31. $opts['show_ui'] = TRUE;
  32. $opts['supports'] = array( 'title', 'editor', 'revisions' );
  33. $opts['taxonomies'] = array();
  34. $opts['capabilities']['delete_others_posts'] = "delete_others_{$cap_type}s";
  35. $opts['capabilities']['delete_post'] = "delete_{$cap_type}";
  36. $opts['capabilities']['delete_posts'] = "delete_{$cap_type}s";
  37. $opts['capabilities']['delete_private_posts'] = "delete_private_{$cap_type}s";
  38. $opts['capabilities']['delete_published_posts'] = "delete_published_{$cap_type}s";
  39. $opts['capabilities']['edit_others_posts'] = "edit_others_{$cap_type}s";
  40. $opts['capabilities']['edit_post'] = "edit_{$cap_type}";
  41. $opts['capabilities']['edit_posts'] = "edit_{$cap_type}s";
  42. $opts['capabilities']['edit_private_posts'] = "edit_private_{$cap_type}s";
  43. $opts['capabilities']['edit_published_posts'] = "edit_published_{$cap_type}s";
  44. $opts['capabilities']['publish_posts'] = "publish_{$cap_type}s";
  45. $opts['capabilities']['read_post'] = "read_{$cap_type}";
  46. $opts['capabilities']['read_private_posts'] = "read_private_{$cap_type}s";
  47. $opts['labels']['add_new'] = esc_html__( "Add New {$single}", 'woo_custom_emails_domain' );
  48. $opts['labels']['add_new_item'] = esc_html__( "Add New {$single}", 'woo_custom_emails_domain' );
  49. $opts['labels']['all_items'] = esc_html__( $plural, 'woo_custom_emails_domain' );
  50. $opts['labels']['edit_item'] = esc_html__( "Edit {$single}" , 'woo_custom_emails_domain' );
  51. $opts['labels']['menu_name'] = esc_html__( 'Custom Emails', 'woo_custom_emails_domain' );
  52. $opts['labels']['name'] = esc_html__( $plural, 'woo_custom_emails_domain' );
  53. $opts['labels']['name_admin_bar'] = esc_html__( $single, 'woo_custom_emails_domain' );
  54. $opts['labels']['new_item'] = esc_html__( "New {$single}", 'woo_custom_emails_domain' );
  55. $opts['labels']['not_found'] = esc_html__( "No {$plural} Found", 'woo_custom_emails_domain' );
  56. $opts['labels']['not_found_in_trash'] = esc_html__( "No {$plural} Found in Trash", 'woo_custom_emails_domain' );
  57. $opts['labels']['parent_item_colon'] = esc_html__( "Parent {$plural} :", 'woo_custom_emails_domain' );
  58. $opts['labels']['search_items'] = esc_html__( "Search {$plural}", 'woo_custom_emails_domain' );
  59. $opts['labels']['singular_name'] = esc_html__( $single, 'woo_custom_emails_domain' );
  60. $opts['labels']['view_item'] = esc_html__( "View {$single}", 'woo_custom_emails_domain' );
  61. $opts = apply_filters( 'woocustomemails-cpt-options', $opts );
  62. register_post_type( strtolower( $cpt_name ), $opts );
  63. } // new_cpt_wcemails()
  64. }
  65. // Initialize the Class.
  66. add_action(
  67. 'plugins_loaded',
  68. function(){
  69. $wcepp_cpt = new Woo_Custom_Emails_Per_Product_CPT;
  70. $wcepp_cpt->new_cpt_wcemails();
  71. }
  72. );