A library which provides extended functionality to WordPress custom post types and taxonomies.
A library which provides extended functionality to WordPress custom post types and taxonomies.
Extended CPTs is a library which provides extended functionality to WordPress custom post types and taxonomies. This allows developers to quickly build post types and taxonomies without having to write the same code again and again.
Extended CPTs works with both the block editor and the classic editor.
See the wiki for full documentation.
Not your first time here? See Recent Changes for Developers to see what features are new in recent versions of Extended CPTs.
page capability typereviews/%year%/%month%/%review%posts_per_page, orderby, order, and nopagingExtended CPTs is a developer library, not a plugin, which means you need to include it as a dependency in your project. Install it using Composer:
composer require johnbillion/extended-cptsOther means of installation or usage, particularly bundling within a plugin, is not officially supported and done at your own risk.
Need a simple post type with no frills? You can register a post type with a single parameter:
add_action( 'init', function() {
register_extended_post_type( 'article' );
} );And you can register a taxonomy with just two parameters:
add_action( 'init', function() {
register_extended_taxonomy( 'location', 'article' );
} );Try it. You'll have a hierarchical public post type with an admin UI, a hierarchical public taxonomy with an admin UI, and all the labels and updated messages for them will be automatically generated.
Or for a bit more functionality:
…Bam, we now have:
The register_extended_post_type() and register_extended_taxonomy() functions are ultimately wrappers for the register_post_type() and register_taxonomy() functions in WordPress core, so any of the parameters from those functions can be used.
There's quite a bit more you can do. See the wiki for full documentation.
The time that I spend maintaining this library and others is in part sponsored by:
Plus all my kind sponsors on GitHub:
Click here to find out about supporting my open source tools and plugins.
Please see CONTRIBUTING.md for information on contributing.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
No open issues yet, or sync has not completed.