Offering::PT, 'request_key' => 'daytidy', 'nonce_name' => Offering::NONCE, ]); } public function args(): array { return apply_filters('DayTidy/F__DayTidy/Posts/Offering__args/args', [ 'labels' => $this->labels( esc_html__('Offering', 'daytidy'), esc_html__('Offerings', 'daytidy') ), 'public' => true, 'show_ui' => true, 'show_in_menu' => false, 'show_in_rest' => false, 'supports' => [ 'title', 'editor', 'thumbnail', 'author', ], 'rewrite' => [ 'slug' => Slug::offerings(), 'ep_mask' => Offering::EP, ], 'menu_icon' => 'dashicons-text-page', 'menu_position' => 31, 'capabilities' => Capabilities::postTypeCapabilities(Capabilities::MANAGE_OFFERINGS), 'map_meta_cap' => false, ]); } public function endpoints(): void { // Session Endpoint add_rewrite_endpoint(Slug::sessions(), Offering::EP); } public function init(): void { parent::init(); // Details Metabox (new DetailsMetabox($this))->init(); } public function store(Post $entity, array $data): void { // Store DateTime Values (new ScheduleMetaboxFormHandler())->save($entity, $data); // Modules & Third Parties do_action('DayTidy/A__DayTidy/Posts/Offering__store/data', $entity, $data, $this); } public function entity(int $id): OfferingEntity { return new OfferingEntity($id, Config::general()); } }