Enhanced content management for WordPress

Cornerstone makes WordPress practical for any type of site by enhancing its content management capabilities. Too long have we had to resort to hacks like using categories in menus to build a pseudo site structure (you know what I’m talking about).

Cornerstone enhances your WordPress site in several ways. One of the most useful features is one that allows WordPress to be used for sites that go beyond just blogging– Posts in Sections. Create a section, add posts to it, they show up when visitors navigate to that section. Simple as that. It really is, but because you’re awesome here’s a tutorial on how to do it.

Thanks for the Support!

The support from the users that love Cornerstone is huge. You can support Cornerstone’s future development and help to make it even better by donating or even just by sending me a nice message 🙂

Donate to Cornerstone


  • ”NEW: Content Types” – Add custom fields to default (posts, pages, etc.) and custom (events, properties, etc.) post types
  • Posts in Sections (see above for more info. Why are you reading from the bottom up?)
  • Structured permalinks – post permalinks are based on the section they are in (e.g. /section-name/post-name/)
  • RSS for Sections – Let users subscribe to and receive updates for specific sections on the site.

Next Up

  • Template functionality – enhanced page titles, featured content, etc.
  • And more, which is where your feedback comes in.

Plugin home page

Post your questions/comments at Cornerstone’s official issue tracker.


  • Fix: Utilities: count() used on non-Countable value. (props @nikelaos)


  • Fix: Spelling.


  • Add: Block editor support for Custom Post Types (CPTs).
  • Update: WordPress 5.3 Compatibility confirmed.
  • Update: WordPress minimum version requirement (5.3).
  • Fix: Plugin initialization.
  • Fix: Display/Save custom field data in post/page editor.
  • Fix: Display/Save section in Quick Editor.
  • Optimize: Code cleanup.


  • Update: Use plugin-specific text domain for localized strings


  • Add: Text Domain header for translations


  • Fix: Registration of Media field types
  • Update: Confirm compatibility with WordPress v4.3.1


  • Update: WordPress 4.2.3 support
  • Optimize: Autoload classes
  • Optimize: Remove legacy PHP code


  • Update: WordPress 3.8 support
  • Update: Readme content (description, features, links)


  • Update: WordPress 3.6 support
  • Update: Remove deprecated jQuery code
  • Update: Remove legacy shortcode code
  • Optimize: Custom content types only added to main and CNR-initiated queries (Props Andy Owen)
  • Optimize: Remove legacy files/code
  • Optimize: Permalink structure reset when plugin activated/deactivated
  • Optimize: Post Editor: Update permalink preview when section changed
  • Optimize: Improved client-side file loading
  • Optimize: Encapsulate client-side code
  • Fix: Custom content types not displayed in sections (Unflappable Andy)


  • Add: Content type support
  • Add: Media support
  • Add: Display tagline in home page title
  • Optimize: Internal performance
  • Optimize: Code cleanup
  • Fix: Section not always saved
  • Fix: Section posts fetched prior to checking posts’ properties
  • Fix: Pagination compatibility for WordPress 3.1+
  • Fix: Various bug fixes


  • Structure
    • Fix: Section column duplication bug


  • Public beta
  1. Set a post's section on the post edit form

    Set a post's section on the post edit form

  2. Manage posts by section on post management page

    Manage posts by section on post management page

  3. Quickly modify a post's section

    Quickly modify a post's section