PostTypes v2.2.1
Simple WordPress custom post types.
Requirements
PHP >=7.2
WordPress >=5.1
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;
use PostTypes\Taxonomy;
// 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
Last updated