Developers

This chapter documents the stable, public surface of Fenómenus: the content model, the meta keys that hold prices and text, the shortcodes and merge tags used by templates, the filters available to extend behavior, and the conventions the tools rely on.

It is written for developers integrating with a Fenómenus site — building templates, extending archives, or reading menu data from another system.

In this chapter

Topic Article
Post types, taxonomies and how they relate Content model
Where prices live Price data contract
Where allergen data lives Allergen data contract
The shortcodes available on the front end Front-end shortcodes
Archive and feed templates, and merge tags Template integration
The category navigation and its behavior Category navigation reference
Extending carousel-based archives Carousel extension
How bulk import matches and writes Excel import contract
What the QR generator produces QR generation contract
What the PDF generator consumes and produces PDF generation contract
Multilingual behavior Language integration
POM Translate specifics POM Translate compatibility
Cache behavior during bulk work Bulk operation cache strategy
Performance characteristics Performance
Capabilities and request safety Security and capabilities

What is stable

The identifiers below are part of the public contract and are safe to depend on:

  • the ten public menu post type slugs;
  • the <post_type>_category taxonomy convention;
  • the price meta keys;
  • the allergen and featured taxonomy slugs;
  • the documented shortcodes;
  • the documented filters.

What is not stable

Anything not documented here: internal class names, admin screen markup, AJAX action names, generated stylesheet paths, and the structure of generated template files. Build against the documented surface.

The design assumptions worth knowing

The theme owns registration. Fenómenus configures the menu content types, taxonomies and fields; the POM theme registers them. Code that runs before registration will not see them.

Categories are the navigation. Each menu type has one category taxonomy, ordered by a stored term position, and that order drives archives, navigation, PDFs and admin lists alike.

Facts are shared, text is translated. Prices, allergens, images, order and status are shared across an item's translations; only text is per language. Integrations should read facts from any translation and expect them to agree.