v1.27.0
New module: REST Bridge
Puts a site's own custom fields on the WordPress REST API — discovered from the definitions JetEngine already stores, rather than hard-coded a field at a time. Replaces the standalone digitizer-api-extensions plugin, and stands down while that plugin is active.
- Discovery. Reads JetEngine's stored meta box definitions and registers every field it finds, under the name JetEngine gave it, on the post types and taxonomies the meta box names. Repeaters included, with their sub-fields described in the schema. A field added in JetEngine appears in the API with nobody writing code for it.
- Compatibility. The names the replaced plugin invented keep working:
jet_qna,jet_faq_title,reading_timeand the threeauthorstaxonomy fields — always alongside a site's own definitions, never instead of them. - Elementor.
GET/POST /digitizer/v1/elementor/{post_id}, with the response shapes unchanged, now behind Elementor's own editing gate rather than a blanket capability check. - Rank Math. Its SEO meta on posts and pages, with per-post write permission and no anonymous read.
- Info.
GET /digitizer/v1/info(requiresedit_posts) — the fields discovered and their schemas, the compatibility names honoured, what discovery passed over and why, and the routes that exist.
The module ships disabled, like every other. It stores nothing.
Fixes to the plugin this replaces
- Three Rank Math fields wrote to meta keys that do not exist in Rank Math (
rank_math_og_*); the real keys arerank_math_facebook_*. Open Graph data written through the old plugin was discarded. - The Elementor routes and the bulk endpoint checked only whether the caller could edit anything, so any author-level account could rewrite every page on the site.
- The info endpoint was public.
rank_math_robotswas registered as a string where Rank Math reads an array.
Upgrading a site
Deactivate digitizer-api-extensions, then enable REST Bridge on the Modules screen. While the old plugin is active the module registers nothing and says so.
One behaviour change worth knowing: the Elementor endpoints now apply Elementor's own editing gate, which refuses trashed posts, post types outside elementor_cpt_support, and roles listed in elementor_exclude_user_roles. A caller editing an unsupported post type now receives a 403 where it previously succeeded.
Review
Nine automated review rounds, a whole-branch review, and an audit against the actual source of WordPress core, Elementor, Rank Math and JetEngine. That last one found eleven issues the reviews had not, four of them critical — including sanitize_key() silently rewriting a JetEngine field's meta key, which on a Hebrew site meant the field never appeared at all.
768 assertions across the module's tests, ten test files green, zero phpcs findings on the security and i18n sniffs, Hebrew catalog at 659 strings.
Full changelog: v1.26.0...v1.27.0