Hierarchy Plugin Enhances WordPress as a CMS

hierarchy

WordPress 3.0 introduced the ability for developers to register their own custom post types, enabling the software to be used more easily as a CMS. Custom post types ushered in a new era that allowed plugin developers to create and organize content in a more modular way.

If you’ve ever tried to explain the concept of custom post types to someone, you may have found that they are more easily understood as custom content types. One thing that makes them confusing is the fact that are usually found floating around in the admin as top level menu items. Custom post types often have no context, which makes it difficult to know how they will appear on the frontend of your site.

The Hierarchy plugin aims to solve this problem by moving custom post type admin menus into your pages list. Ordinarily, CPTs have their own menu items and the page menu structure doesn’t accurately reflect where the content is located, as shown in the example below.

cpt-admin

Custom post types are often used to power various sections of a website. Hierarchy works to improve the content editing workflow by intelligently including custom post type admin links within the page structure. In place of the Pages menu in the admin you’ll see a new Content menu, with custom post types, such as locations, people, and knowledgebase, added under their corresponding pages.

hierarchy-in-action

Version 1.0 of the plugin includes Dashicons support and a button to add a new page. Each content type is displayed with contextual links within the hierarchical view of content. You can hover over an entry to display the edit, view, and taxonomy links.

hierarchy-contextual-links

Hierarchy also includes a settings page that allows you to designate which custom post types will be included in the hierarchy display, as well as the ability to disable new entries and set the menu order. You can also elect to hide CPTs from the admin menu so that they only show up within the Hierarchy structure.

hierarchy-settings

When WordPress is used primarily as a CMS, pages often become the backbone for organizing the site’s content. This plugin addresses the lack of hierarchical structure in the admin. Jonathan Christopher, founder of SearchWP, wrote Hierarchy two years ago and has found it to be indispensable when creating websites for clients. He released version 1.0 of the plugin this week, which is essentially a complete rewrite of the previous version. If you’re looking to simplify CPT admin menus and streamline editing, check out Hierarchy on WordPress.org.

10 Comments


  1. As Sarah mentioned in the article, Hierarchy is actually two years old. It hasn’t gained much traction primarily because it’s difficult to quickly educate people about what it actually is. It’s almost one of those things you have to see in place in one of your existing projects before you have that lightbulb moment.

    With 1.0 being a complete rewrite I took some time to put together better screenshots and hopefully that helps to illustrate the power of Hierarchy. I’m really pumped on the project at the moment and as of this morning converted the Add New Page button at the top of Hierarchy to be a Shortcuts menu that gives you quick access to all of your Custom Post Types and Taxonomies. This will be a big help for huge sites that have a ton of pages.

    Hierarchy is on GitHub so please feel free to check out the code, submit Issues and PRs, and we’ll make Hierarchy even more useful!

    Report


    1. This is excellent lateral thinking.

      This makes me wonder how else the admin can be simplified and the WordPress learning curve can minimized.

      Report


    2. So, this isn’t a support forum, but I just tried your plugin and noticed that all page with any status other than published are hidden, with no way to access them. Any thoughts?

      Report


      1. Definitely something to add in the next release! I’ll add it as an Issue on GitHub (unless you wanted to)! There are probably more use cases like this that need to be covered, definitely. In the current release you could opt to not remove Pages from the Admin Menu and still have access to the original Pages Admin Menu entry which would show all statuses but that’s definitely not ideal as it defeats the purpose of Hierarchy.

        Report


      2. On sites with a lot of content, yours would be a great solution.

        We noticed the draft/unpublished page issue because we had also been using the Nested Pages plugin, to do something similar. A quick glance comparing the two views, we could see the missing content from Hierarchy.

        We also noted that Pages appear to be treated differently than the other content types. If pages were treated like everything else (or you had the option of doing so) then the other states would be seen.

        Lastly, one of the other content types we use sometimes are Content Blocks, for formatting reusable content into widget areas. That must use something non-standard, as that content wasn’t an option to include in the Hierarchy settings.

        Report


  2. I honestly only use WordPress as a CMS on all of my sites..

    I actually have never seen this plugin myself in all the years I’ve been working with WordPress. My biggest complaint about the pages tab was that you couldn’t drag and drop to order the pages. I myself will test this out.

    Report


  3. Very useful thanks. i never liked the default.

    Report


  4. Hierarchy is definitely a great plugin. Just tried it. WordPress dashboard was never so clutter free, managing contents is even easier and everything else is well managed.

    Report


  5. This looks like a great idea for smaller sites. I’ve had a few clients that just had a hard time wrapping there heads around the many places in the backend that content can live.

    Jonathan, any thoughts on maybe moving some of those hard-to-reach widgets into this content area, perhaps under a “sidebar” or “footer” page? For large sites this could get messy but for a smaller site it might work out great. Thanks for sharing your plugin!

    Report

Comments are closed.