// Create a new knowledge base post type
add_action( ‘init’, function() {
register_post_type( ‘knowledge_base’, [
‘labels’ => [
‘name’ => __( ‘Knowledge Base’ ),
‘singular_name’ => __( ‘Knowledge Base Article’ ),
‘add_new’ => __( ‘Add New Article’ ),
‘add_new_item’ => __( ‘Add New Knowledge Base Article’ ),
‘edit_item’ => __( ‘Edit Knowledge Base Article’ ),
‘new_item’ => __( ‘New Knowledge Base Article’ ),
‘view_item’ => __( ‘View Knowledge Base Article’ ),
‘search_items’ => __( ‘Search Knowledge Base Articles’ ),
‘not_found’ => __( ‘No Knowledge Base Articles found’ ),
‘not_found_in_trash’ => __( ‘No Knowledge Base Articles found in Trash’ ),
],
‘public’ => true,
‘hierarchical’ => false,
‘has_archive’ => true,
‘supports’ => [ ‘title’, ‘editor’, ‘thumbnail’, ‘excerpt’ ],
‘menu_icon’ => ‘dashicons-book’,
‘show_in_rest’ => true,
] );
} );
// Create a new taxonomy for knowledge base categories
add_action( ‘init’, function() {
register_taxonomy( ‘knowledge_base_category’, ‘knowledge_base’, [
‘labels’ => [
‘name’ => __( ‘Knowledge Base Categories’ ),
‘singular_name’ => __( ‘Knowledge Base Category’ ),
‘search_items’ => __( ‘Search Knowledge Base Categories’ ),
‘popular_items’ => null,
‘all_items’ => __( ‘All Knowledge Base Categories’ ),
‘edit_item’ => __( ‘Edit Knowledge Base Category’ ),
‘update_item’ => __( ‘Update Knowledge Base Category’ ),
‘add_new_item’ => __( ‘Add New Knowledge Base Category’ ),
‘new_item_name’ => __( ‘New Knowledge Base Category Name’ ),
‘separate_items_with_commas’ => null,
‘add_or_remove_items’ => null,
‘choose_from_most_used’ => null,
],
‘hierarchical’ => true,
‘query_var’ => true,
‘rewrite’ => [ ‘slug’ => ‘knowledge-base-categories’ ],
] );
} );