micropackage / models
Models
Installs: 6 843
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=8.0
- illuminate/support: ^10.3
- micropackage/dochooks: ^1.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-11-22 13:19:40 UTC
README
🧬 About Models
Package that simplifies registration of WordPress Model-like objects - Custom Post Types and Custom Taxonomies. Automatically generates name, slug and all required labels of Models.
💾 Installation
composer require micropackage/models
🕹 Usage
Adding new Custom Post Type
Classname of Post Types should ends with
PostType
.
<?php use Micropackage\Models\PostType; class TestimonialPostType extends PostType { /** * Define icon, whether post type should be public and other attributes. * Labels will be generated automatically. * * @see https://developer.wordpress.org/reference/functions/register_post_type/ */ protected static function getArgs(): array { return [ 'menu_icon' => 'dashicons-cart', 'public' => true, ]; } } new TestimonialPostType();
Adding new Custom Taxonomy
Classname of Taxonomies should ends with
Taxonomy
.
<?php use Micropackage\Models\Taxonomy; class PlaceTaxonomy extends Taxonomy { /** * Define to which post types taxonomy should belongs. * * You can use slug of any post types or classname of post types created * using this package. */ protected static array $objectTypes = [ 'product', TestimonialPostType::class, ]; /** * Define whether taxonomy should be hierarchical and other attributes. * Labels will be generated automatically. * * @see https://developer.wordpress.org/reference/functions/register_taxonomy/ */ protected static function getArgs(): array { return [ 'hierarchical' => true, ]; } } new PlaceTaxonomy();
📦 About the Micropackage project
Micropackages - as the name suggests - are micro packages with a tiny bit of reusable code, helpful particularly in WordPress development.
The aim is to have multiple packages which can be put together to create something bigger by defining only the structure.
Micropackages are maintained by BracketSpace.
📖 Changelog
📃 License
GNU General Public License (GPL) v3.0. See the LICENSE file for more information.