-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
To modernize the Dro Pizza theme and migrate it fully to Full Site Editing (FSE), we propose creating a companion plugin called dro-pizza-core.
This plugin will handle all functionality-related features such as Custom Post Types (CPT), taxonomies, and meta fields.
The theme (dro-pizza) will remain focused on presentation and templates, following WordPress best practices.
Problem
Currently, the idea was to embed CPTs, taxonomies, and custom meta fields directly into the theme.
However, this approach causes issues:
- Switching themes would make all pizza content disappear (since it’s registered only by the theme).
- Violates WordPress guideline: themes are for presentation, plugins are for functionality.
- Would block future flexibility and content portability.
Proposed Solution
Create a dro-pizza-core plugin skeleton that will:
- Register a Pizza CPT (
pizza). - Register a Pizza Category taxonomy (
pizza-category). - Add custom meta fields (e.g.,
price,delivery_available,spicy_level). - Optionally: Provide custom Gutenberg blocks for displaying pizzas (e.g., Pizza Card, Pizza Menu Grid).
The Dro Pizza theme will then only handle:
- Block templates (
single-pizza.html,archive-pizza.html, etc.). - Block patterns (Pizza Menu layout, Special Offers, etc.).
- Global styles & FSE setup.
Benefits
- ✅ Preserves content across theme switches (data is in plugin).
- ✅ Aligns with WordPress.org theme review guidelines.
- ✅ Clean separation of concerns (theme = design, plugin = data/logic).
- ✅ Easier to maintain and extend.
Next Steps
- Create a plugin folder
dro-pizza-core. - Register
pizzaCPT andpizza-categorytaxonomy. - Add basic custom meta box/field for
priceanddelivery. - Provide hooks/filters for future extensibility.
- Prepare integration with Dro Pizza theme templates.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request