__( 'Events', 'webcodexworld-events-manager' ), 'singular_name' => __( 'Event', 'webcodexworld-events-manager' ), 'add_new' => __( 'Add Event', 'webcodexworld-events-manager' ), 'add_new_item' => __( 'Add New Event', 'webcodexworld-events-manager' ), 'edit_item' => __( 'Edit Event', 'webcodexworld-events-manager' ), 'new_item' => __( 'New Event', 'webcodexworld-events-manager' ), 'all_items' => __( 'All Events', 'webcodexworld-events-manager' ), 'view_item' => __( 'View Event', 'webcodexworld-events-manager' ), 'search_items' => __( 'Search Event', 'webcodexworld-events-manager' ), 'not_found' => __( 'No event found', 'webcodexworld-events-manager' ), 'not_found_in_trash' => __( 'No event found in trash', 'webcodexworld-events-manager' ), 'menu_name' => __( 'Events Manager', 'webcodexworld-events-manager' ), 'parent_item_colon' => '', 'featured_image' => _x( 'Event Image', 'Context: Label for the featured images for an event', 'webcodexworld-events-manager' ), 'set_featured_image' => _x( 'Set Event Image', 'Context: Text to set the featured image for an event', 'webcodexworld-events-manager' ), 'remove_featured_image' => _x( 'Remove Event Image', 'Context: Text to remove the feature image for an event', 'webcodexworld-events-manager' ), 'use_featured_image' => _x( 'Use as Event Image', 'Context: Text to use an image as the featured image for an event', 'webcodexworld-events-manager' ), 'insert_into_item' => _x( 'Insert into Event', 'Overrides the Insert into post phrase (used when inserting media into a post)', 'webcodexworld-events-manager' ), 'items_list' => __( 'Event list.', 'webcodexworld-events-manager' ), 'item_published' => __( 'Event published.', 'webcodexworld-events-manager' ), 'item_published_privately' => __( 'Event published privately.', 'webcodexworld-events-manager' ), 'item_reverted_to_draft' => __( 'Event reverted to draft.', 'webcodexworld-events-manager' ), 'item_scheduled' => __( 'Event scheduled.', 'webcodexworld-events-manager' ), 'item_updated' => __( 'Event updated.', 'webcodexworld-events-manager' ), 'item_link' => __( 'Event Link', 'webcodexworld-events-manager' ), 'item_link_description' => __( 'A link to a event.', 'webcodexworld-events-manager' ), ); $ebm_event_args = array( 'labels' => $ebm_event_labels, 'show_in_rest' => (bool) $block_editor_events, 'public' => true, 'publicly_queryable' => true, 'query_var' => true, 'map_meta_cap' => true, 'hierarchical' => false, 'has_archive' => false, 'menu_icon' => 'dashicons-calendar-alt', 'rewrite' => array('slug' => $single_event_url_slug, 'with_front' => false), 'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments', 'revisions'), ); register_post_type( EM_WCW_EVENT_POST_TYPE, apply_filters( 'em_wcw_event_post_type_args', $ebm_event_args ) ); /* Register `Venue` Post Type */ $ebm_venue_labels = array( 'name' => __( 'Venues', 'webcodexworld-events-manager' ), 'singular_name' => __( 'Venue', 'webcodexworld-events-manager' ), 'add_new' => __( 'Add Venue', 'webcodexworld-events-manager' ), 'add_new_item' => __( 'Add New Venue', 'webcodexworld-events-manager' ), 'edit_item' => __( 'Edit Venue', 'webcodexworld-events-manager' ), 'new_item' => __( 'New Venue', 'webcodexworld-events-manager' ), 'all_items' => __( 'All Venues', 'webcodexworld-events-manager' ), 'view_item' => __( 'View Venue', 'webcodexworld-events-manager' ), 'search_items' => __( 'Search Venue', 'webcodexworld-events-manager' ), 'not_found' => __( 'No venue found', 'webcodexworld-events-manager' ), 'not_found_in_trash' => __( 'No venue found in trash', 'webcodexworld-events-manager' ), 'menu_name' => __( 'Venues', 'webcodexworld-events-manager' ), 'featured_image' => _x( 'Venue Image', 'Context: Label for the featured images for an venue', 'webcodexworld-events-manager' ), 'set_featured_image' => _x( 'Set Venue Image', 'Context: Text to set the featured image for an venue', 'webcodexworld-events-manager' ), 'remove_featured_image' => _x( 'Remove Venue Image', 'Context: Text to remove the feature image for an venue', 'webcodexworld-events-manager' ), 'use_featured_image' => _x( 'Use as Venue Image', 'Context: Text to use an image as the featured image for an venue', 'webcodexworld-events-manager' ), 'insert_into_item' => _x( 'Insert into Venue', 'Overrides the Insert into post phrase (used when inserting media into a post)', 'webcodexworld-events-manager' ), 'items_list' => __( 'Venue list.', 'webcodexworld-events-manager' ), 'item_published' => __( 'Venue published.', 'webcodexworld-events-manager' ), 'item_published_privately' => __( 'Venue published privately.', 'webcodexworld-events-manager' ), 'item_reverted_to_draft' => __( 'Venue reverted to draft.', 'webcodexworld-events-manager' ), 'item_scheduled' => __( 'Venue scheduled.', 'webcodexworld-events-manager' ), 'item_updated' => __( 'Venue updated.', 'webcodexworld-events-manager' ), 'item_link' => __( 'Venue Link', 'webcodexworld-events-manager' ), 'item_link_description' => __( 'A link to a venue.', 'webcodexworld-events-manager' ), ); $ebm_venue_args = array( 'labels' => $ebm_venue_labels, 'show_in_rest' => (bool) $block_editor_venues, 'public' => false, 'show_ui' => true, 'publicly_queryable' => false, 'query_var' => false, 'hierarchical' => false, 'rewrite' => false, 'show_in_menu' => 'edit.php?post_type=' . EM_WCW_EVENT_POST_TYPE, 'menu_icon' => 'dashicons-location', 'supports' => array( 'title', 'thumbnail', 'author' ), ); register_post_type( EM_WCW_VENUE_POST_TYPE, apply_filters( 'em_wcw_venue_post_type_args', $ebm_venue_args ) ); /* Register `Organizer` Post Type */ $ebm_organizer_labels = array( 'name' => __( 'Organizers', 'webcodexworld-events-manager' ), 'singular_name' => __( 'Organizer', 'webcodexworld-events-manager' ), 'add_new' => __( 'Add Organizer', 'webcodexworld-events-manager' ), 'add_new_item' => __( 'Add New Organizer', 'webcodexworld-events-manager' ), 'edit_item' => __( 'Edit Organizer', 'webcodexworld-events-manager' ), 'new_item' => __( 'New Organizer', 'webcodexworld-events-manager' ), 'all_items' => __( 'All Organizers', 'webcodexworld-events-manager' ), 'view_item' => __( 'View Organizer', 'webcodexworld-events-manager' ), 'search_items' => __( 'Search Organizer', 'webcodexworld-events-manager' ), 'not_found' => __( 'No organizer found', 'webcodexworld-events-manager' ), 'not_found_in_trash' => __( 'No organizer found in trash', 'webcodexworld-events-manager' ), 'menu_name' => __( 'Organizers', 'webcodexworld-events-manager' ), 'featured_image' => _x( 'Organizer Image', 'Context: Label for the featured images for an organizer', 'webcodexworld-events-manager' ), 'set_featured_image' => _x( 'Set Organizer Image', 'Context: Text to set the featured image for an organizer', 'webcodexworld-events-manager' ), 'remove_featured_image' => _x( 'Remove Organizer Image', 'Context: Text to remove the feature image for an organizer', 'webcodexworld-events-manager' ), 'use_featured_image' => _x( 'Use as Organizer Image', 'Context: Text to use an image as the featured image for an organizer', 'webcodexworld-events-manager' ), 'insert_into_item' => _x( 'Insert into Organizer', 'Overrides the Insert into post phrase (used when inserting media into a post)', 'webcodexworld-events-manager' ), 'items_list' => __( 'Organizer list.', 'webcodexworld-events-manager' ), 'item_published' => __( 'Organizer published.', 'webcodexworld-events-manager' ), 'item_published_privately' => __( 'Organizer published privately.', 'webcodexworld-events-manager' ), 'item_reverted_to_draft' => __( 'Organizer reverted to draft.', 'webcodexworld-events-manager' ), 'item_scheduled' => __( 'Organizer scheduled.', 'webcodexworld-events-manager' ), 'item_updated' => __( 'Organizer updated.', 'webcodexworld-events-manager' ), 'item_link' => __( 'Organizer Link', 'webcodexworld-events-manager' ), 'item_link_description' => __( 'A link to a organizer.', 'webcodexworld-events-manager' ), ); $ebm_organizer_args = array( 'labels' => $ebm_organizer_labels, 'show_in_rest' => (bool) $block_editor_organizers, 'public' => false, 'show_ui' => true, 'publicly_queryable' => false, 'query_var' => false, 'hierarchical' => false, 'rewrite' => false, 'show_in_menu' => 'edit.php?post_type=' . EM_WCW_EVENT_POST_TYPE, 'menu_icon' => 'dashicons-groups', 'supports' => array( 'title', 'thumbnail', 'author' ), ); register_post_type( EM_WCW_ORGANIZER_POST_TYPE, apply_filters( 'em_wcw_organizer_post_type_args', $ebm_organizer_args ) ); /* Register `Layout` Post Type */ $em_wcw_layout_labels = array( 'name' => __( 'Layouts', 'webcodexworld-events-manager' ), 'singular_name' => __( 'Layout', 'webcodexworld-events-manager' ), 'add_new' => __( 'Add Layout', 'webcodexworld-events-manager' ), 'add_new_item' => __( 'Add New Layout', 'webcodexworld-events-manager' ), 'edit_item' => __( 'Edit Layout', 'webcodexworld-events-manager' ), 'new_item' => __( 'New Layout', 'webcodexworld-events-manager' ), 'all_items' => __( 'All Layout', 'webcodexworld-events-manager' ), 'view_item' => __( 'View Layout', 'webcodexworld-events-manager' ), 'search_items' => __( 'Search Layout', 'webcodexworld-events-manager' ), 'not_found' => __( 'No layout found', 'webcodexworld-events-manager' ), 'not_found_in_trash' => __( 'No layout found in trash', 'webcodexworld-events-manager' ), 'menu_name' => __( 'All Layout', 'webcodexworld-events-manager' ), 'parent_item_colon' => '', ); $em_wcw_layout_args = array( 'labels' => $em_wcw_layout_labels, 'show_in_rest' => false, 'public' => false, 'exclude_from_search' => true, 'show_ui' => false, 'rewrite' => false, 'supports' => array('title', 'editor', 'author') ); register_post_type( EM_WCW_LAYOUT_POST_TYPE, apply_filters( 'em_wcw_layout_post_type_args', $em_wcw_layout_args ) ); } add_action( 'init', 'em_wcw_register_post_types', 5 ); /** * Function to register taxonomies * * @since 1.0.0 */ function em_wcw_register_taxonomies() { /* Event Category */ $event_cat_url_slug = em_wcw_get_setting( 'event_cat_url_slug' ); $event_cat_arch = em_wcw_get_setting( 'event_cat_arch' ); $ebm_event_cat_args = array( 'hierarchical' => true, 'label' => __( 'Categories', 'webcodexworld-events-manager' ), 'labels' => array( 'name' => __( 'Event Categories', 'webcodexworld-events-manager' ), 'singular_name' => __( 'Event Category', 'webcodexworld-events-manager' ), 'menu_name' => _x( 'Event Categories', 'Admin menu name', 'webcodexworld-events-manager' ), 'search_items' => __( 'Search Categories', 'webcodexworld-events-manager' ), 'all_items' => __( 'All categories', 'webcodexworld-events-manager' ), 'parent_item' => __( 'Parent Category', 'webcodexworld-events-manager' ), 'parent_item_colon' => __( 'Parent Category:', 'webcodexworld-events-manager' ), 'edit_item' => __( 'Edit Event Category', 'webcodexworld-events-manager' ), 'update_item' => __( 'Update Category', 'webcodexworld-events-manager' ), 'add_new_item' => __( 'Add Category', 'webcodexworld-events-manager' ), 'new_item_name' => __( 'New Category Name', 'webcodexworld-events-manager' ), 'not_found' => __( 'No event categories found', 'webcodexworld-events-manager' ), 'back_to_items' => __( '← Go to Event Categories', 'webcodexworld-events-manager' ), ), 'show_in_rest' => true, 'show_ui' => true, 'query_var' => true, 'public' => ! empty( $event_cat_arch ) ? true : false, 'rewrite' => array( 'slug' => $event_cat_url_slug, 'with_front' => false, 'hierarchical' => true, ) ); // Register `Event` Category register_taxonomy( EM_WCW_EVENT_CAT, apply_filters( 'em_wcw_taxonomy_objects_events_cat', array( EM_WCW_EVENT_POST_TYPE ) ), apply_filters( 'em_wcw_taxonomy_args_events_cat', $ebm_event_cat_args ) ); /* Event Tag */ $event_tag_url_slug = em_wcw_get_setting( 'event_tag_url_slug' ); $event_tag_arch = em_wcw_get_setting( 'event_tag_arch' ); $ebm_event_tag_args = array( 'hierarchical' => false, 'label' => __( 'Tags', 'webcodexworld-events-manager' ), 'labels' => array( 'name' => __( 'Event Tags', 'webcodexworld-events-manager' ), 'singular_name' => __( 'Event Tag', 'webcodexworld-events-manager' ), 'menu_name' => _x( 'Event Tags', 'Admin menu name', 'webcodexworld-events-manager' ), 'search_items' => __( 'Search Tags', 'webcodexworld-events-manager' ), 'all_items' => __( 'All Tags', 'webcodexworld-events-manager' ), 'edit_item' => __( 'Edit Tag', 'webcodexworld-events-manager' ), 'update_item' => __( 'Update Tag', 'webcodexworld-events-manager' ), 'add_new_item' => __( 'Add Tag', 'webcodexworld-events-manager' ), 'new_item_name' => __( 'New Tag Name', 'webcodexworld-events-manager' ), 'not_found' => __( 'No event tags found', 'webcodexworld-events-manager' ), 'popular_items' => __( 'Popular Event Tags', 'webcodexworld-events-manager' ), 'back_to_items' => __( '← Go to Event Tags', 'webcodexworld-events-manager' ), 'add_or_remove_items' => __( 'Add or remove event tags', 'webcodexworld-events-manager' ), 'choose_from_most_used' => __( 'Choose from the most used event tags', 'webcodexworld-events-manager' ), ), 'show_in_rest' => true, 'show_ui' => true, 'query_var' => true, 'public' => ! empty( $event_tag_arch ) ? true : false, 'rewrite' => array( 'slug' => $event_tag_url_slug, 'with_front' => false, ) ); // Register `Event` Tag register_taxonomy( EM_WCW_EVENT_TAG, apply_filters( 'em_wcw_taxonomy_objects_events_tag', array( EM_WCW_EVENT_POST_TYPE ) ), apply_filters( 'em_wcw_taxonomy_args_events_tag', $ebm_event_tag_args ) ); } add_action( 'init', 'em_wcw_register_taxonomies', 5 ); /** * Function to update post messages * * @since 1.0.0 */ function em_wcw_post_updated_messages( $messages ) { global $post; $permalink = get_permalink( $post->ID ); /* Event Post Type Message */ $messages[EM_WCW_EVENT_POST_TYPE] = array( 0 => '', // Unused. Messages start at index 1. /* translators: 1: Opening link tag to the single event, 2: Closing link tag. */ 1 => sprintf( __( 'Event updated. %1$sView Event%2$s', 'webcodexworld-events-manager' ), '', '' ), 2 => __( 'Custom field updated.', 'webcodexworld-events-manager' ), 3 => __( 'Custom field deleted.', 'webcodexworld-events-manager' ), 4 => __( 'Event updated.', 'webcodexworld-events-manager' ), 5 => __( 'Revision restored.', 'webcodexworld-events-manager' ), /* translators: 1: Opening link tag to the single event, 2: Closing link tag. */ 6 => sprintf( __( 'Event published. %1$sView Event%2$s', 'webcodexworld-events-manager' ), '', '' ), 7 => __( 'Event saved.', 'webcodexworld-events-manager' ), /* translators: %s: Preview event url */ 8 => sprintf( __( 'Event submitted. Preview event', 'webcodexworld-events-manager' ), esc_url( add_query_arg( 'preview', 'true', $permalink ) ) ), 9 => sprintf( /* translators: 1: date 2: event url */ __( 'Event scheduled for: %1$s. Preview event', 'webcodexworld-events-manager' ), '' . date_i18n( __( 'M j, Y @ G:i', 'webcodexworld-events-manager' ), strtotime( $post->post_date ) ) . '', esc_url( $permalink ) ), /* translators: %s: event url */ 10 => sprintf( __( 'Event draft updated. Preview event', 'webcodexworld-events-manager' ), esc_url( add_query_arg( 'preview', 'true', $permalink ) ) ), ); /* Venue Post Type Message */ $messages[EM_WCW_VENUE_POST_TYPE] = array( 0 => '', // Unused. Messages start at index 1. 1 => __( 'Venue updated.', 'webcodexworld-events-manager' ), 2 => __( 'Custom field updated.', 'webcodexworld-events-manager' ), 3 => __( 'Custom field deleted.', 'webcodexworld-events-manager' ), 4 => __( 'Venue updated.', 'webcodexworld-events-manager' ), 5 => __( 'Revision restored.', 'webcodexworld-events-manager' ), 6 => __( 'Venue updated.', 'webcodexworld-events-manager' ), 7 => __( 'Venue saved.', 'webcodexworld-events-manager' ), 8 => __( 'Venue submitted.', 'webcodexworld-events-manager' ), 9 => sprintf( /* translators: %s: date */ __( 'Venue scheduled for: %s.', 'webcodexworld-events-manager' ), '' . date_i18n( __( 'M j, Y @ G:i', 'webcodexworld-events-manager' ), strtotime( $post->post_date ) ) . '' ), 10 => __( 'Venue draft updated.', 'webcodexworld-events-manager' ), ); /* Organizer Post Type Message */ $messages[EM_WCW_ORGANIZER_POST_TYPE] = array( 0 => '', // Unused. Messages start at index 1. 1 => __( 'Organizer updated.', 'webcodexworld-events-manager' ), 2 => __( 'Custom field updated.', 'webcodexworld-events-manager' ), 3 => __( 'Custom field deleted.', 'webcodexworld-events-manager' ), 4 => __( 'Organizer updated.', 'webcodexworld-events-manager' ), 5 => __( 'Revision restored.', 'webcodexworld-events-manager' ), 6 => __( 'Organizer updated.', 'webcodexworld-events-manager' ), 7 => __( 'Organizer saved.', 'webcodexworld-events-manager' ), 8 => __( 'Organizer submitted.', 'webcodexworld-events-manager' ), 9 => sprintf( /* translators: %s: date */ __( 'Organizer scheduled for: %s.', 'webcodexworld-events-manager' ), '' . date_i18n( __( 'M j, Y @ G:i', 'webcodexworld-events-manager' ), strtotime( $post->post_date ) ) . '' ), 10 => __( 'Organizer draft updated.', 'webcodexworld-events-manager' ), ); return $messages; } add_filter( 'post_updated_messages', 'em_wcw_post_updated_messages' ); /** * Function to update post messages * * @since 1.0.0 */ function em_wcw_bulk_post_updated_messages( $bulk_messages, $bulk_counts ) { /* Event Post Type Message */ $bulk_messages[EM_WCW_EVENT_POST_TYPE] = array( /* translators: %s: event count */ 'updated' => _n( '%s event updated.', '%s events updated.', $bulk_counts['updated'], 'webcodexworld-events-manager' ), /* translators: %s: event count */ 'locked' => _n( '%s event not updated, somebody is editing it.', '%s events not updated, somebody is editing them.', $bulk_counts['locked'], 'webcodexworld-events-manager' ), /* translators: %s: event count */ 'deleted' => _n( '%s event permanently deleted.', '%s events permanently deleted.', $bulk_counts['deleted'], 'webcodexworld-events-manager' ), /* translators: %s: event count */ 'trashed' => _n( '%s event moved to the Trash.', '%s events moved to the Trash.', $bulk_counts['trashed'], 'webcodexworld-events-manager' ), /* translators: %s: event count */ 'untrashed' => _n( '%s event restored from the Trash.', '%s events restored from the Trash.', $bulk_counts['untrashed'], 'webcodexworld-events-manager' ), ); /* Venue Post Type Message */ $bulk_messages[EM_WCW_VENUE_POST_TYPE] = array( /* translators: %s: venue count */ 'updated' => _n( '%s venue updated.', '%s venues updated.', $bulk_counts['updated'], 'webcodexworld-events-manager' ), /* translators: %s: venue count */ 'locked' => _n( '%s venue not updated, somebody is editing it.', '%s venues not updated, somebody is editing them.', $bulk_counts['locked'], 'webcodexworld-events-manager' ), /* translators: %s: venue count */ 'deleted' => _n( '%s venue permanently deleted.', '%s venues permanently deleted.', $bulk_counts['deleted'], 'webcodexworld-events-manager' ), /* translators: %s: venue count */ 'trashed' => _n( '%s venue moved to the Trash.', '%s venues moved to the Trash.', $bulk_counts['trashed'], 'webcodexworld-events-manager' ), /* translators: %s: venue count */ 'untrashed' => _n( '%s venue restored from the Trash.', '%s venues restored from the Trash.', $bulk_counts['untrashed'], 'webcodexworld-events-manager' ), ); /* Organizer Post Type Message */ $bulk_messages[EM_WCW_ORGANIZER_POST_TYPE] = array( /* translators: %s: organizer count */ 'updated' => _n( '%s organizer updated.', '%s organizers updated.', $bulk_counts['updated'], 'webcodexworld-events-manager' ), /* translators: %s: organizer count */ 'locked' => _n( '%s organizer not updated, somebody is editing it.', '%s organizers not updated, somebody is editing them.', $bulk_counts['locked'], 'webcodexworld-events-manager' ), /* translators: %s: organizer count */ 'deleted' => _n( '%s organizer permanently deleted.', '%s organizers permanently deleted.', $bulk_counts['deleted'], 'webcodexworld-events-manager' ), /* translators: %s: organizer count */ 'trashed' => _n( '%s organizer moved to the Trash.', '%s organizers moved to the Trash.', $bulk_counts['trashed'], 'webcodexworld-events-manager' ), /* translators: %s: organizer count */ 'untrashed' => _n( '%s organizer restored from the Trash.', '%s organizers restored from the Trash.', $bulk_counts['untrashed'], 'webcodexworld-events-manager' ), ); return $bulk_messages; } add_filter( 'bulk_post_updated_messages', 'em_wcw_bulk_post_updated_messages', 10, 2 );