<?php
/**
 * Registers the bw_guide custom post type (hub-side master copies).
 */

defined( 'ABSPATH' ) || exit;

class BW_Guides_Server_CPT {

	const POST_TYPE = 'bw_guide';

	public function register() {
		add_action( 'init', array( $this, 'register_post_type' ) );
	}

	public function register_post_type() {
		register_post_type(
			self::POST_TYPE,
			array(
				'labels'              => array(
					'name'               => __( 'Guides', 'bw-guides-server' ),
					'singular_name'      => __( 'Guide', 'bw-guides-server' ),
					'add_new'            => __( 'Add New Guide', 'bw-guides-server' ),
					'add_new_item'       => __( 'Add New Guide', 'bw-guides-server' ),
					'edit_item'          => __( 'Edit Guide', 'bw-guides-server' ),
					'new_item'           => __( 'New Guide', 'bw-guides-server' ),
					'view_item'          => __( 'View Guide', 'bw-guides-server' ),
					'search_items'       => __( 'Search Guides', 'bw-guides-server' ),
					'not_found'          => __( 'No guides found', 'bw-guides-server' ),
					'not_found_in_trash' => __( 'No guides found in Trash', 'bw-guides-server' ),
					'menu_name'          => __( 'Guides', 'bw-guides-server' ),
				),
				'description'         => __( 'Guides published to client sites by BW Guides.', 'bw-guides-server' ),
				'public'              => false,
				'exclude_from_search' => true,
				'publicly_queryable'  => false,
				'show_ui'             => true,
				'show_in_menu'        => true,
				'show_in_rest'        => true, // Required for the block editor.
				'menu_icon'           => 'dashicons-book',
				'menu_position'       => 59,
				'supports'            => array( 'title', 'editor', 'excerpt', 'revisions' ),
				'has_archive'         => false,
				'rewrite'             => false,
			)
		);
	}
}
