Skip to content

Feature Request: Dro Pizza Core Plugin Skeleton #11

@younes-dro

Description

@younes-dro

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

  1. Create a plugin folder dro-pizza-core.
  2. Register pizza CPT and pizza-category taxonomy.
  3. Add basic custom meta box/field for price and delivery.
  4. Provide hooks/filters for future extensibility.
  5. Prepare integration with Dro Pizza theme templates.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions