generated from pascalmartineau/wp-skeleton
All checks were successful
WordPress deployment / deploy (push) Successful in 9s
89 lines
4.5 KiB
PHP
89 lines
4.5 KiB
PHP
<?php
|
|
|
|
// Register 'event' post type
|
|
add_action( 'init', 'ccat_event_register_post_type' );
|
|
function ccat_event_register_post_type() {
|
|
register_post_type(
|
|
'event',
|
|
array(
|
|
'labels' => array(
|
|
'name' => __( "Events", 'ccat' ),
|
|
'menu_name' => __( "Events", 'ccat' ),
|
|
'singular_name' => __( "Event", 'ccat' ),
|
|
'add_new' => __( "Add New", 'ccat' ),
|
|
'add_new_item' => __( "Add New Event", 'ccat' ),
|
|
'new_item' => __( "New Event", 'ccat' ),
|
|
'edit_item' => __( "Edit Event", 'ccat' ),
|
|
'view_item' => __( "View Event", 'ccat' ),
|
|
'view_items' => __( "View Events", 'ccat' ),
|
|
'search_items' => __( "Search Events", 'ccat' ),
|
|
'not_found' => __( "No Events found", 'ccat' ),
|
|
'not_found_in_trash' => __( "No Events found in trash", 'ccat' ),
|
|
'parent_item_colon' => __( "Parent Event:", 'ccat' ),
|
|
'all_items' => __( "All Events", 'ccat' ),
|
|
'archives' => __( "Event Archives", 'ccat' ),
|
|
'attributes' => __( "Event Attributes", 'ccat' ),
|
|
'insert_into_item' => __( "Insert into Event", 'ccat' ),
|
|
'uploaded_to_this_item' => __( "Uploaded to this Event", 'ccat' ),
|
|
'featured_image' => __( "Featured Image", 'ccat' ),
|
|
'set_featured_image' => __( "Set featured image", 'ccat' ),
|
|
'remove_featured_image' => __( "Remove featured image", 'ccat' ),
|
|
'use_featured_image' => __( "Use as featured image", 'ccat' ),
|
|
'filter_items_list' => __( "Filter Events list", 'ccat' ),
|
|
'items_list_navigation' => __( "Events list navigation", 'ccat' ),
|
|
'items_list' => __( "Events list", 'ccat' ),
|
|
'item_published' => __( "Event published.", 'ccat' ),
|
|
'item_published_privately' => __( "Event published privately.", 'ccat' ),
|
|
'item_reverted_to_draft' => __( "Event reverted to draft.", 'ccat' ),
|
|
'item_scheduled' => __( "Event scheduled.", 'ccat' ),
|
|
'item_updated' => __( "Event updated.", 'ccat' ),
|
|
),
|
|
'public' => true,
|
|
'hierarchical' => true,
|
|
'show_ui' => true,
|
|
'show_in_nav_menus' => false,
|
|
'supports' => array( 'title', 'thumbnail', 'excerpt', 'revisions', 'page-attributes' ),
|
|
'has_archive' => false,
|
|
'rewrite' => array(
|
|
'slug' => 'evenement',
|
|
'with_front' => false,
|
|
),
|
|
'query_var' => true,
|
|
'menu_icon' => 'dashicons-calendar',
|
|
'show_in_rest' => true,
|
|
'rest_base' => 'event',
|
|
'rest_controller_class' => 'WP_REST_Posts_Controller',
|
|
'show_in_graphql' => true,
|
|
'graphql_single_name' => "Event",
|
|
'graphql_plural_name' => "Events",
|
|
'graphql_interfaces' => array( 'Node' ),
|
|
)
|
|
);
|
|
}
|
|
|
|
// Custom 'event' post updated messages
|
|
add_filter( 'post_updated_messages', 'ccat_event_post_updated_messages' );
|
|
function ccat_event_post_updated_messages( $messages ) {
|
|
global $post;
|
|
$permalink = get_permalink( $post );
|
|
$preview_post_link_html = sprintf( ' <a target="_blank" href="%1$s">%2$s</a>', esc_url( get_preview_post_link( $post ) ), __( "Preview Event", 'ccat' ) );
|
|
$scheduled_post_link_html = sprintf( ' <a target="_blank" href="%1$s">%2$s</a>', esc_url( $permalink ), __( "Preview Event", 'ccat' ) );
|
|
$scheduled_date = date_i18n( __( "M j, Y @ H:i", 'ccat' ), strtotime( $post->post_date ) );
|
|
$view_post_link_html = sprintf( ' <a href="%1$s">%2$s</a>', esc_url( $permalink ), __( "View Event", 'ccat' ) );
|
|
$messages['event'] = array(
|
|
0 => '',
|
|
1 => __( "Event updated.", 'ccat' ) . $view_post_link_html,
|
|
2 => __( "Custom field updated.", 'ccat' ),
|
|
3 => __( "Custom field deleted.", 'ccat' ),
|
|
4 => __( "Event updated.", 'ccat' ),
|
|
5 => isset( $_GET['revision'] ) ? sprintf( __( "Event restored to revision from %s", 'ccat' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
|
|
6 => __( "Event published.", 'ccat' ) . $view_post_link_html,
|
|
7 => __( "Event saved.", 'ccat' ),
|
|
8 => __( "Event submitted.", 'ccat' ) . $preview_post_link_html,
|
|
9 => sprintf( __( 'Event scheduled for: %s.' ), '<strong>' . $scheduled_date . '</strong>' ) . $scheduled_post_link_html,
|
|
10 => __( 'Event draft updated.' ) . $preview_post_link_html,
|
|
);
|
|
|
|
return $messages;
|
|
}
|