WordPress Q&As Logo
WordPress Q&As Part of the Q&A Topic Learning Network
Real Questions. Clear Answers.
Ask any question about WordPress here... and get an instant response.
Q&A Balloon Q&A Logo
Post this Question & Answer:

How do I create a custom post type with specific capabilities in WordPress?

Asked on Apr 03, 2026

Answer

Creating a custom post type in WordPress allows you to organize and display different types of content beyond the default posts and pages. You can define specific capabilities for this custom post type to control user permissions.
<!-- BEGIN COPY / PASTE -->
    function my_custom_post_type() {
        $labels = array(
            'name'               => 'Books',
            'singular_name'      => 'Book',
            'menu_name'          => 'Books',
            'name_admin_bar'     => 'Book',
            'add_new'            => 'Add New',
            'add_new_item'       => 'Add New Book',
            'new_item'           => 'New Book',
            'edit_item'          => 'Edit Book',
            'view_item'          => 'View Book',
            'all_items'          => 'All Books',
            'search_items'       => 'Search Books',
            'not_found'          => 'No books found.',
            'not_found_in_trash' => 'No books found in Trash.'
        );

        $args = array(
            'labels'             => $labels,
            'public'             => true,
            'has_archive'        => true,
            'rewrite'            => array('slug' => 'books'),
            'capability_type'    => 'book',
            'capabilities'       => array(
                'edit_post'          => 'edit_book',
                'read_post'          => 'read_book',
                'delete_post'        => 'delete_book',
                'edit_posts'         => 'edit_books',
                'edit_others_posts'  => 'edit_others_books',
                'publish_posts'      => 'publish_books',
                'read_private_posts' => 'read_private_books',
            ),
            'map_meta_cap'       => true,
            'supports'           => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments')
        );

        register_post_type('book', $args);
    }
    add_action('init', 'my_custom_post_type');
    <!-- END COPY / PASTE -->
Additional Comment:
  • Use the "register_post_type" function within an "init" action hook to ensure it runs at the correct time.
  • Define custom capabilities to control access to the custom post type, allowing for granular permission settings.
  • Remember to flush rewrite rules after registering a new post type by visiting the "Settings → Permalinks" page.
  • Consider using a plugin like "Members" to manage roles and capabilities more easily.
✅ Answered with WordPress best practices.

← Back to All Questions

Q&A Network
Real Questions. Clear Answers.
WordPress
Ask Questions / Get Answers about WordPress!
Data Science
Ask Questions / Get Answers about Data Science!
Quantum
Ask Questions / Get Answers about Quantum Computing!
Analytics
Ask Questions / Get Answers about Analytics!
Bootstrap
Ask Questions / Get Answers about Bootstrap!
AI Education
Ask Questions / Get Answers about AI Education!
Web Development
Ask Questions / Get Answers about Web Development!
Performance
Ask Questions / Get Answers about Web Vitals!
AI
Ask Questions / Get Answers about AI!
AI Coding
Ask Questions / Get Answers about AI Coding!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
Podcasting
Ask Questions / Get Answers about Podcasting!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
IoT
Ask Questions / Get Answers about IoT!
Illustration
Ask Questions / Get Answers about Illustration!
Social Media Psychology
Ask Questions / Get Answers about Social Media Psychology!
Chatbots
Ask Questions / Get Answers about Chatbots!
AI Design
Ask Questions / Get Answers about AI Design!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
Animation
Ask Questions / Get Answers about Animation!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
Photography
Ask Questions / Get Answers about Photography!
AI Audio
Ask Questions / Get Answers about AI Audio!
VR & AR
Ask Questions / Get Answers about VR & AR!
Nursing
Ask Questions / Get Answers about Nursing!
Web Hosting
Ask Questions / Get Answers about Hosting!
AI Business
Ask Questions / Get Answers about AI Business!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
Networking
Ask Questions / Get Answers about Networking!
3D Design
Ask Questions / Get Answers about 3D Design!
CSS
Ask Questions / Get Answers about CSS!
Tailwind
Ask Questions / Get Answers about Tailwind!
Film Production
Ask Questions / Get Answers about Film Production!
HTML
Ask Questions / Get Answers about HTML!
AI Images
Ask Questions / Get Answers about AI Images!
AI Video
Ask Questions / Get Answers about AI Video!
UI/UX Design
Ask Questions / Get Answers about UI/UX Design!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
Robotics
Ask Questions / Get Answers about Robotics!
AI Writing
Ask Questions / Get Answers about AI Writing!
SEO
Ask Questions / Get Answers about SEO!
Video Editing
Ask Questions / Get Answers about Video Editing!
Creative Writing
Ask Questions / Get Answers about Creative Writing!
Motion Graphics
Ask Questions / Get Answers about Motion Graphics!
Digital Burnout
Ask Questions / Get Answers about Digital Burnout!
JavaScript
Ask Questions / Get Answers about JavaScript!
Security
Ask Questions / Get Answers about Website Security!
Business Finance
Ask Questions / Get Answers about Business Finance!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
DevOps
Ask Questions / Get Answers about DevOps!
Sound Design
Ask Questions / Get Answers about Sound Design!
Web Languages
Ask Questions / Get Answers about Web Languages!