Skip to content

ThemePlate/CPT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ThemePlate CPT

Usage

use ThemePlate\CPT\PostType;
use ThemePlate\CPT\Taxonomy;

// One-liner
( new PostType( 'vehicle' ) )->register();
( new Taxonomy( 'brand' ) )->register();

Full customization

/** https://developer.wordpress.org/reference/functions/register_post_type/#parameters */
$args   = array(
	'has_archive' => true,
	'supports'    => array( 'title', 'editor', 'thumbnail' ),
);
$person = new PostType( 'person', $args );

// Custom singular and plural
$person->labels( 'Person', 'People' );
$person->register();


/** https://developer.wordpress.org/reference/functions/register_taxonomy/#parameters */
$args = array(
	'hierarchical' => true,
	'default_term' => 'Unknown',
);
$job  = new Taxonomy( 'job', $args );

// Custom singular and plural
$job->labels( 'Job Title', 'Job Titles' );
$job->register();

Associations

( new PostType( 'house' ) )->associate( 'category' )->register();
( new PostType( 'furniture' ) )->associate( 'category' )->register();
( new Taxonomy( 'style' ) )->associate( 'house' )->associate( 'furniture' )->register();