WordPress Q&As Logo
WordPress Q&As Part of the Q&A Network
Real Questions. Clear Answers.
Ask any question about WordPress here... and get an instant response.
Q&A Logo Q&A Logo

What’s the best way to register custom post types with hierarchical support?

Asked on Aug 25, 2025

Answer

To register a custom post type with hierarchical support in WordPress, you should use the `register_post_type` function with the `'hierarchical'` argument set to `true`. This allows the custom post type to behave like pages, supporting parent-child relationships.
<!-- BEGIN COPY / PASTE -->
    function my_custom_post_type() {
        $args = array(
            'label'         => 'Books',
            'public'        => true,
            'hierarchical'  => true,
            'supports'      => array('title', 'editor', 'thumbnail'),
            'has_archive'   => true,
            'rewrite'       => array('slug' => 'books'),
        );
        register_post_type('book', $args);
    }
    add_action('init', 'my_custom_post_type');
    <!-- END COPY / PASTE -->
Additional Comment:
  • Setting `'hierarchical' => true` allows the custom post type to have a parent-child structure similar to pages.
  • Ensure the `'supports'` array includes features you want, such as 'title', 'editor', and 'thumbnail'.
  • Use `'rewrite' => array('slug' => 'books')` to customize the URL structure.
  • Always hook your custom post type registration to the 'init' action.
  • Remember to flush rewrite rules after registering a new post type by visiting the Permalinks settings page.
✅ Answered with WordPress best practices.

← Back to All Questions

Q&A Network
The Q&A Network
WordPress
Ask Questions / Get Answers about WordPress!
UI/UX Design
Ask Questions / Get Answers about UI/UX Design!
AI Design
Ask Questions / Get Answers about AI Design!
DevOps
Ask Questions / Get Answers about DevOps!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
IoT
Ask Questions / Get Answers about IoT!
AI
Ask Questions / Get Answers about AI!
AI Education
Ask Questions / Get Answers about AI Education!
CSS
Ask Questions / Get Answers about CSS!
Film Production
Ask Questions / Get Answers about Film Production!
Tailwind
Ask Questions / Get Answers about Tailwind!
Video Editing
Ask Questions / Get Answers about Video Editing!
Bootstrap
Ask Questions / Get Answers about Bootstrap!
Analytics
Ask Questions / Get Answers about Analytics!
Robotics
Ask Questions / Get Answers about Robotics!
VR & AR
Ask Questions / Get Answers about VR & AR!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
Performance
Ask Questions / Get Answers about Web Vitals!
Data Science
Ask Questions / Get Answers about Data Science!
Web Hosting
Ask Questions / Get Answers about Hosting!
Chatbots
Ask Questions / Get Answers about Chatbots!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
AI Audio
Ask Questions / Get Answers about AI Audio!
Quantum
Ask Questions / Get Answers about Quantum Computing!
AI Images
Ask Questions / Get Answers about AI Images!
AI Coding
Ask Questions / Get Answers about AI Coding!
Web Development
Ask Questions / Get Answers about Web Development!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
Animation
Ask Questions / Get Answers about Animation!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
Creative Writing
Ask Questions / Get Answers about Creative Writing!
AI Writing
Ask Questions / Get Answers about AI Writing!
HTML
Ask Questions / Get Answers about HTML!
SEO
Ask Questions / Get Answers about SEO!
Security
Ask Questions / Get Answers about Website Security!
Web Languages
Ask Questions / Get Answers about Web Languages!
Networking
Ask Questions / Get Answers about Networking!
Photography
Ask Questions / Get Answers about Photography!
AI Video
Ask Questions / Get Answers about AI Video!
JavaScript
Ask Questions / Get Answers about JavaScript!
AI Business
Ask Questions / Get Answers about AI Business!