plugin

  • Per-button and per-role settings

    How settings are scoped per-button (stored inside the button blob) and per-role (stored in role-specific options), how the cascade resolves conflicts, and the gotchas around blob-shaped per-button storage.

  • Button array storage (local-app-button-array*)

    How button definitions are persisted: serialized arrays in the local-app-button-array* options. Why the option key is frozen, the per-role variants, and the implications for renames or schema changes.

  • Codex and settings discovery

    mam_codex_manager — the settings inspection / discovery API. Lets admin tooling enumerate all registered settings, categories, and content-class field schemas without parsing PHP source.

  • Priority conventions for phone-data subscribers

    The convention for which priority to use when registering against mam_get_phone_data_before_send. Critical contracts: priority 1000 for home_cats, 1001+ for total overrides, 199 for form-state validation, 10 for the default cohort.

  • AJAX action: local_app_get_phone_data

    The AJAX entry point for the mobile API. Frozen public contract: action name local_app_get_phone_data plus the modern alias mam_get_phone_data. Both delegate to MAM_Phone_Data_Pipeline::run().

Need Support?

Can't find the answer you're looking for? Don't worry we're here to help!