1. Go to this page and download the library: Download jjgrainger/posttypes library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jjgrainger / posttypes example snippets
use PostTypes\PostType;
use PostTypes\Columns;
class Book extends PostType {
/**
* Define the Post Type name.
*/
public function name(): string {
return 'book';
}
/**
* Define the Post Type labels.
*/
public function labels(): array {
return [
'name' => __( 'Book', 'text-domain' ),
'singular_name' => __( 'Book', 'text-domain' ),
'menu_name' => __( 'Books', 'text-domain' ),
'all_items' => __( 'Books', 'text-domain' ),
'add_new' => __( 'Add New', 'text-domain' ),
'add_new_item' => __( 'Add New Book', 'text-domain' ),
'edit_item' => __( 'Edit Book', 'text-domain' ),
'new_item' => __( 'New Book', 'text-domain' ),
'view_item' => __( 'View Book', 'text-domain' ),
'search_items' => __( 'Search Books', 'text-domain' ),
'not_found' => __( 'No Books found', 'text-domain' ),
'not_found_in_trash' => __( 'No Books found in Trash', 'text-domain' ),
'parent_item_colon' => __( 'Parent Book', 'text-domain' ),
];
}
/**
* Define Post Type feature supports.
*/
public function supports(): array {
return [
'title',
'editor',
'thumbnail',
'custom-fields',
];
}
/**
* Define Taxonomies associated with the Post Type.
*/
public function taxonomies(): array {
return [
'genre',
'category',
];
}
/**
* Set the menu icon for the Post Type.
*/
public function icon(): string {
return 'dashicons-book';
}
/**
* Set the admin post table filters.
*/
public function filters(): array {
return [
'genre',
'category',
];
}
/**
* Define the columns for the admin post table.
*/
public function columns(Columns $columns): Columns {
// Remove the author and date column.
$columns->remove( [ 'author', 'date' ] );
// Add a Rating column.
$columns->add( 'rating', __( 'Rating', 'post-types' ) );
// Populate the rating column.
$columns->populate( 'rating', function( $post_id ) {
echo get_post_meta( $post_id, 'rating', true );
} );
return $columns;
}
}
// Instantiate the Book PostType class.
$book = new Book;
// Register the Book PostType to WordPress.
$book->register();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.