oberonlai / wp-cpt
Simple WordPress custom post types.
Installs: 16
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/oberonlai/wp-cpt
Requires
- php: >=7.2
Requires (Dev)
- phpunit/phpunit: 8.*
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2025-10-12 11:31:57 UTC
README
Simple WordPress custom post types.
Requirements
Installation
Install with composer
Run the following in your terminal to install PostTypes with Composer.
$ composer require jjgrainger/posttypes
PostTypes uses PSR-4 autoloading and can be used with the Composer's autoloader. Below is a basic example of getting started, though your setup may be different depending on how you are using Composer.
require __DIR__ . '/vendor/autoload.php'; use PostTypes\PostType; $books = new PostType('book'); $books->register();
See Composer's basic usage guide for details on working with Composer and autoloading.
Basic Usage
Below is a basic example of setting up a simple book post type with a genre taxonomy. For more information, check out the online documentation here.
// Require the Composer autoloader. require __DIR__ . '/vendor/autoload.php'; // Import PostTypes. use PostTypes\PostType; // Create a book post type. $books = new PostType( 'book' ); // Attach the genre taxonomy (which is created below). $books->taxonomy( 'genre' ); // Hide the date and author columns. $books->columns()->hide( [ 'date', 'author' ] ); // Set the Books menu icon. $books->icon( 'dashicons-book-alt' ); // Register the post type to WordPress. $books->register(); // Create a genre taxonomy. $genres = new Taxonomy( 'genre' ); // Set options for the taxonomy. $genres->options( [ 'hierarchical' => false, ] ); // Register the taxonomy to WordPress. $genres->register();
Notes
- The full documentation can be found online at posttypes.jjgrainger.co.uk
- The class has no methods for making custom fields for post types, use Advanced Custom Fields
- The book's example used in the README.md can be found in examples/books.php
- Licensed under the MIT License
- Maintained under the Semantic Versioning Guide
Author
Joe Grainger