Packages: WOOF, MEOW and Field Types
The MasterPress API can be regarded as being made up of 3 packages of classes:
- WOOF (WordPress Object-Oriented Framework)
These classes represent objects that exist in the WordPress core, including posts, terms, users, post types, taxonomies, roles,and images. These clases offer a complete object-oriented alternative to the standard template tag functions available in WordPress. All class names in the WOOF package are prefixed with WOOF_.
- MEOW (MasterPress Extensions Of WOOF)
These classes represent objects that MasterPress brings to WordPress, such as fields and field sets, while also including classes which extend the core classes in WOOF to provide field and field-set related functionality. All class names in the WOOF package are prefixed with MEOW_.
- Field Types
These classes are also specific to MasterPress, but are concerned with providing APIs and User-Interface implementations for the field types available in MasterPress. All class names in the Field Types package are prefixed with MPFT_ which stands for MasterPress Field Type.
Please refer to the Class Reference landing page for a complete list of classes available in each package.
Why are WOOF and MEOW separate?
You may be wondering why the classes in MEOW extend those in the WOOF package; why not just make one class for each of these objects?
The main reason for this is that it will allow us to release the WOOF package as a separate plug-in for WordPress, or even as a bundle-in for WordPress themes that target the API. By keeping all MasterPress-specific API features out of the WOOF classes, this becomes a lot easier to do. (A separate plug-in is not yet available – it is currently planned for future release).
It also makes a lot of sense from a design standpoint – while the MasterPress product brings a lot of new capabilities to WordPress, a lot of the plug-in makes existing features more accessible, and the API package structure reflects this very precisely.