<?php
/**
 * Custom Post Type: bw_guide
 *
 * @package BW_Onboarding_Guide
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

class BW_Post_Type {

    private static $instance = null;

    public static function get_instance() {
        if ( null === self::$instance ) {
            self::$instance = new self();
        }
        return self::$instance;
    }

    private function __construct() {
        add_action( 'init', array( $this, 'register_post_type' ) );
    }

    /**
     * Register the bw_guide custom post type.
     */
    public function register_post_type() {
        $labels = array(
            'name'               => __( 'Onboarding Guides', 'bw-onboarding-guide' ),
            'singular_name'      => __( 'Guide', 'bw-onboarding-guide' ),
            'add_new'            => __( 'Add New Guide', 'bw-onboarding-guide' ),
            'add_new_item'       => __( 'Add New Guide', 'bw-onboarding-guide' ),
            'edit_item'          => __( 'Edit Guide', 'bw-onboarding-guide' ),
            'new_item'           => __( 'New Guide', 'bw-onboarding-guide' ),
            'view_item'          => __( 'View Guide', 'bw-onboarding-guide' ),
            'search_items'       => __( 'Search Guides', 'bw-onboarding-guide' ),
            'not_found'          => __( 'No guides found', 'bw-onboarding-guide' ),
            'not_found_in_trash' => __( 'No guides found in Trash', 'bw-onboarding-guide' ),
            'all_items'          => __( 'All Guides', 'bw-onboarding-guide' ),
            'menu_name'          => __( 'Onboarding Guides', 'bw-onboarding-guide' ),
        );

        $args = array(
            'labels'              => $labels,
            'public'              => false,
            'show_ui'             => true,
            'show_in_menu'        => true,
            'menu_position'       => 80,
            'menu_icon'           => 'dashicons-welcome-learn-more',
            'supports'            => array( 'title' ),
            'has_archive'         => false,
            'exclude_from_search' => true,
            'publicly_queryable'  => false,
            'capability_type'     => 'post',
        );

        register_post_type( 'bw_guide', $args );
    }
}
