PHPackages                             pedalcms/cassette-cmf - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. pedalcms/cassette-cmf

ActiveLibrary[Framework](/categories/framework)

pedalcms/cassette-cmf
=====================

WP Content Modeling Framework

v0.0.6(2mo ago)1142[15 issues](https://github.com/PedalCMS/cassette-cmf/issues)GPL-2.0-or-laterPHPPHP &gt;=8.2CI passing

Since Dec 8Pushed 2mo ago3 watchersCompare

[ Source](https://github.com/PedalCMS/cassette-cmf)[ Packagist](https://packagist.org/packages/pedalcms/cassette-cmf)[ RSS](/packages/pedalcms-cassette-cmf/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (11)Versions (17)Used By (0)

Cassette-CMF (WordPress Content Modeling Framework)
===================================================

[](#cassette-cmf-wordpress-content-modeling-framework)

A powerful, flexible Composer library for building WordPress plugins with custom post types, taxonomies, settings pages, and dynamic form fields.

[![Version](https://camo.githubusercontent.com/78991f5b85092d34dd3335e275b0863c7391d572daa657497c31714270bb12be/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d302e302e322d626c75652e737667)](https://github.com/PedalCMS/cassette-cmf)[![PHP](https://camo.githubusercontent.com/789befc8d88593153c7b6252f5256360c9532b26eb84fcb39b1ab842cc239e9d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322532422d707572706c652e737667)](https://php.net)[![WordPress](https://camo.githubusercontent.com/f1989d6cd7139e0ba03c225b1eb47980a7ec6ba2a2b489beb9c01881be322852/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f576f726450726573732d362e302532422d626c75652e737667)](https://wordpress.org)[![License](https://camo.githubusercontent.com/36be30f8feb7f55eb28b8a3026863de08ab79c957b768d8f16009c2f5cff8830/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d47504c2d2d322e302d2d6f722d2d6c617465722d677265656e2e737667)](LICENSE)[![Coverage](https://camo.githubusercontent.com/a149d1f338dce8fa00ff72aa32181379a3d16e6ec2fbbb10a20b749b42eb19ac/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f676973742e67697468756275736572636f6e74656e742e636f6d2f6e616d6974686a2f65396435366533393362653062356631303737346133343332626561663831352f7261772f63617373657474652d636d662d636f7665726167652e6a736f6e)](https://camo.githubusercontent.com/a149d1f338dce8fa00ff72aa32181379a3d16e6ec2fbbb10a20b749b42eb19ac/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f676973742e67697468756275736572636f6e74656e742e636f6d2f6e616d6974686a2f65396435366533393362653062356631303737346133343332626561663831352f7261772f63617373657474652d636d662d636f7665726167652e6a736f6e)[![PHPUnit Tests](https://github.com/PedalCMS/cassette-cmf/actions/workflows/phpunit.yml/badge.svg)](https://github.com/PedalCMS/cassette-cmf/actions/workflows/phpunit.yml)[![Coding Standards](https://github.com/PedalCMS/cassette-cmf/actions/workflows/coding-standards.yml/badge.svg)](https://github.com/PedalCMS/cassette-cmf/actions/workflows/coding-standards.yml)[![PHPStan](https://github.com/PedalCMS/cassette-cmf/actions/workflows/phpstan.yml/badge.svg)](https://github.com/PedalCMS/cassette-cmf/actions/workflows/phpstan.yml)

Features
--------

[](#features)

- **Custom Post Types** - Register CPTs with fields using array or JSON configuration
- **Custom Taxonomies** - Create taxonomies with custom term meta fields
- **Settings Pages** - Top-level and submenu pages with automatic form handling
- **18 Field Types** - Text, textarea, number, email, url, password, date, color, select, checkbox, radio, wysiwyg, upload, custom\_html, tabs, metabox, group, repeater
- **Container Fields** - Organize fields with tabs, metaboxes, groups, and repeaters
- **Extend Existing** - Add fields to existing post types, taxonomies, and settings pages
- **Array Configuration** - Register everything from a single PHP array
- **JSON Configuration** - Load configurations from JSON files with schema validation
- **Before-Save Filters** - Modify or validate field values before saving
- **Validation &amp; Sanitization** - Built-in security with customizable rules
- **Asset Management** - Context-aware CSS/JS enqueuing
- **i18n Ready** - Full internationalization support

Requirements
------------

[](#requirements)

- **PHP**: 8.2 or higher
- **WordPress**: 6.0 or higher
- **Composer**: For autoloading

Installation
------------

[](#installation)

```
composer require pedalcms/cassette-cmf
```

Quick Start
-----------

[](#quick-start)

### Basic Example

[](#basic-example)

```
