kaiseki / wp-post-types
Build and register WordPress post types and taxonomies — a config-driven wrapper around jjgrainger/posttypes
Requires
- php: ^8.2
- jjgrainger/posttypes: ^2.2
- kaiseki/config: ^2.0
- psr/container: ^1.1 || ^2.0
Requires (Dev)
- bnf/phpstan-psr-container: ^1.1
- kaiseki/php-coding-standard: ^1.0
- maglnet/composer-require-checker: ^4.0
- php-stubs/wordpress-stubs: ^6.2
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^11.0
- roave/security-advisories: dev-latest
- roots/wordpress-core-installer: *
- roots/wordpress-no-content: @stable
- szepeviktor/phpstan-wordpress: ^2.0
- thecodingmachine/phpstan-safe-rule: ^1.4
This package is auto-updated.
Last update: 2026-06-02 23:46:59 UTC
README
Build and register WordPress post types and taxonomies — a config-driven wrapper around jjgrainger/posttypes.
Provides PostTypeBuilder / TaxonomyBuilder (and their interfaces) that create jjgrainger/posttypes
PostType / Taxonomy objects, applying a shared set of default options from config so all your post
types and taxonomies start from the same baseline. Wired through ConfigProvider.
Installation
composer require kaiseki/wp-post-types
Requires PHP 8.2 or newer.
Usage
Register ConfigProvider with your laminas-style config aggregator to set the default options applied
to every built post type / taxonomy:
return [ 'post_type' => [ // Defaults merged into every PostType built (register_post_type() args). 'default_post_type_options' => [ 'supports' => ['title', 'editor', 'thumbnail'], 'has_archive' => true, ], // Defaults merged into every Taxonomy built (register_taxonomy() args). 'default_taxonomy_options' => [ 'hierarchical' => true, ], ], ];
Resolve a builder from the container and build/register your types:
use Kaiseki\WordPress\PostType\PostType\PostTypeBuilderInterface; $builder = $container->get(PostTypeBuilderInterface::class); $book = $builder->build(['book', 'books'], ['menu_icon' => 'dashicons-book'], ['singular' => 'Book']); $book->register();
PostTypeHelper / TaxonomyHelper provide convenience methods for associating taxonomies with post
types. Per-build options are merged over the configured defaults.
Development
composer install
composer check # check-deps, cs-check, phpstan
License
MIT — see LICENSE.