wpify/post-type

This package is abandoned and no longer maintained. No replacement package was suggested.

WPify Post Type

Maintainers

Details

gitlab.com/wpify/post-type

1.0.1 2021-09-08 14:23 UTC

This package is auto-updated.

Last update: 2023-09-26 10:59:07 UTC


README

Abstraction over WordPress Post Types.

Installation

composer require wpify/post-type

Usage

class MyCustomPostType extends Wpify\PostType\AbstractCustomPostType {
    const KEY = 'my-custom-post-type';
    
    public function setup() {
        add_action( 'init', array( $this, 'do_something' ) );
    }
    
	public function get_post_type_key(): string {
		return self::KEY;
	}
	
    public function get_args(): array {
		return array(
			'label'        => __( 'My CPT', 'my-plugin' ),
			'labels'       => $this->generate_labels( __( 'My CPT', 'my-plugin' ), __( 'My CPTs', 'my-plugin' ) ),
			'description'  => __( 'Custom post type My CPT', 'my-plugin' ),
			'public'       => true,
			'show_ui'      => true,
			'show_in_rest' => true,
		);
    }
    
    public function do_something() {
        // TODO: Do something
    }
}

class MyBuiltinPagePostType extends Wpify\PostType\AbstractCustomPostType {
    const KEY = 'page';
    
    public function setup() {
        add_action( 'init', array( $this, 'do_something' ) );
    }
    
	public function get_post_type_key(): string {
		return self::KEY;
	}
    
    public function do_something() {
        // TODO: Do something
    }
} 

function my_plugin_init() {
    new MyCustomPostType;
    new MyBuiltinPagePostType;
}

add_action( 'plugins_loaded', 'my_plugin_init', 11 );