PostType::register_course_post_type()


Source

File: classes/PostType.php

	public function register_course_post_type(){
		$show_in_rest = (bool) dozent_get_option('enable_course_post_type_rest_api');

		$course_slug = dozent_get_option('course_base_slug', 'courses');
		$course_base_slug = apply_filters('dozent_course_base_slug', $course_slug);

		$labels = [
			'name'               => _x( 'Courses', 'post type general name', 'dozent' ),
			'singular_name'      => _x( 'Course', 'post type singular name', 'dozent' ),
			'menu_name'          => _x( 'Courses', 'admin menu', 'dozent' ),
			'name_admin_bar'     => _x( 'Course', 'add new on admin bar', 'dozent' ),
			'add_new'            => _x( 'Add New', 'course', 'dozent' ),
			'add_new_item'       => __( 'Add New Course', 'dozent' ),
			'new_item'           => __( 'New Course', 'dozent' ),
			'edit_item'          => __( 'Edit Course', 'dozent' ),
			'view_item'          => __( 'View Course', 'dozent' ),
			'all_items'          => __( 'All Courses', 'dozent' ),
			'search_items'       => __( 'Search Courses', 'dozent' ),
			'parent_item_colon'  => __( 'Parent Courses:', 'dozent' ),
			'not_found'          => __( 'No courses found.', 'dozent' ),
			'not_found_in_trash' => __( 'No courses found in Trash.', 'dozent' )
		];

		$args = [
			'labels'            => $labels,
			'description'       => __( 'Description.', 'dozent' ),
			'public'            => true,
			'publicly_queryable'=> true,
			'show_ui'           => true,
			'show_in_menu'      => 'dozent',
			'query_var'         => true,
			'rewrite'           => [ 'slug' => $course_base_slug ],
			'capability_type'   => 'post',
			'has_archive'       => true,
			'hierarchical'      => false,
			'menu_position'     => null,
			'taxonomies'        => ['course_category'],
			'supports'          => ['title', 'editor', 'author', 'thumbnail', 'excerpt'],
			'show_in_rest'      => $show_in_rest,
			'capabilities'      => $this->course_capabilities,
		];

		register_post_type( 'dozent_course', $args );
	}