New: blog-meta route. RTEO reads the site’s assignable authors and existing
blog categories/tags through the connector, so host firewalls that block
core endpoints (like the /users anti-enumeration rule) never break
publishing setup.
0.7.12
The plugin’s environment is now decided by the domain the site runs on,
looked up against RTEO’s registry. A registered client domain is fixed to
production, a registered staging-clone domain is fixed to staging, and an
unregistered domain makes the plugin inert (no requests, nothing served)
with a clear admin notice. The wp-config RTEO_ENDPOINT_BASE override from
0.7.0 is removed – registration in RTEO is the only mechanism.
New “RTEO Connect” admin page: which environment the site resolved to and
why, the endpoint in use, pages carrying live schema, last schema fetch,
and a “Check again” button.
0.7.11
New: blog design-kit stylesheet delivery. RTEO can push your workspace’s
blog design-kit CSS (base components + your exclusive components, in your
brand colours) to the site. The plugin stores it as a static file in
uploads/rteo-connect/ and loads it site-wide, so styled blog posts keep
rendering correctly even if the RTEO connection is later removed. Updating
the styling is a push from RTEO – no plugin update needed.
0.7.0
The plugin now connects to the production RTEO service (app.rteo.com.au) by
default. A staging clone of a site can opt out with one line in wp-config.php:
define(‘RTEO_ENDPOINT_BASE’, ‘https://staging.rteo.com.au/api/schema’).
Sites already connected keep their stored endpoint and are unaffected.
Batch-write accepts a taxonomy:<slug> target, so RTEO can assign a post’s
taxonomy terms (categories, course types, funding options) during a push
instead of leaving them for a human. Terms are REPLACED with the supplied set,
captured in the before-image, and restored atomically on revert.
Batch-write accepts core:post_content and core:post_title, so RTEO can
rewrite the WordPress editor body and the title — not just ACF sidecar fields.
This is what lets a Blog post (whose content lives in the editor) be pushed.
Repeater, group and flexible-content fields can be written: a structured value
now passes through to ACF intact instead of being flattened to strings.
core:post_author reassigns a post’s author by user ID (validated against a
real user, so a post is never orphaned).
taxonomy:<slug> works for CORE taxonomies too — taxonomy:category and
taxonomy:post_tag need no special casing.
New media:field_* target for image, gallery and file fields. The value is an
existing attachment ID or an https URL, which is sideloaded into this site’s
media library. A revert restores the field’s previous attachment but does not
delete the uploaded file, since other posts may reference it.
0.6.1
batch-write accepts array values for checkbox/multi-select gate fields: an acf:field_* write whose value is an array is sanitized element-wise and stored as an array (ACF checkbox semantics), the byte-identity compare is array-aware (order-preserving), and before-images/compensating restores round-trip arrays intact. Powers RTEO’s conditional-gate companion writes on checkbox-controlled modules.
0.6.0
New POST /wp-json/rteo/v1/batch-write route: applies N field writes (acf:field_*, yoast:title/metadesc, core:post_excerpt, relationship:field_*) atomically with server-side before-images and both-or-neither compensating rollback on any failed or mismatched write. Powers RTEO’s multi-field content push in one transaction.
relationship:field_* write kind: set/replace a course’s ACF relationship field to an app-supplied ID list (link-only — never creates or modifies the related post).
field-manifest additively emits each relationship/post_object field’s target post_type and each field’s ACF conditional_logic rule groups (so the RTEO app knows which controlling field gates a module).
create-and-link-faq publish: accepts category_new_name / tag_new_name to create an operator-approved new category/tag term (wp_insert_term); the unresolved-category guard is preserved when neither an id nor an approved new name is supplied.
0.5.4
create-and-link-faq: when the FAQ CPT has no ACF answer field, the answer is written to post_content as a paragraph block (rteocm convention).
0.5.3
create-and-link-faq: per-site tag taxonomy (tag_taxonomy param). The publish phase now accepts an optional tag_taxonomy so FAQ post types that register their own tag taxonomy (e.g. rteocm_faq_tag) tag the course into the right taxonomy; absent it defaults to the WordPress core post_tag (backward compatible). An explicitly supplied but unregistered taxonomy returns rteo_taxonomy_not_found rather than mis-tagging.
0.5.2
FAQ route fixes: acf-prefix strip on draft writes, post:title in field-values.
0.5.1
Version bump to supersede pre-release 0.5.0 dev builds installed manually on early sites (identical routes to 0.5.0). Ensures wp.org auto-update delivers the push routes everywhere.
This plugin is in public beta (0.x). 1.0.0 will mark the first stable release.
0.5.0
Added RTEO control-plane content routes (admin-authenticated): GET /wp-json/rteo/v1/field-manifest (enumerate a post type’s ACF field definitions), GET /wp-json/rteo/v1/field-values (read raw unformatted ACF values + Yoast title/metadesc), GET /wp-json/rteo/v1/taxonomy-terms (enumerate a taxonomy’s live terms), POST /wp-json/rteo/v1/write-field (write a single ACF field by key or a Yoast slot), and POST /wp-json/rteo/v1/create-and-link-faq (draft/publish/delete FAQ posts and link them to a course relationship field). These power RTEO’s gated content push. Read-only for reads; writes are admin-only and never touch credential-looking meta.
0.4.1
Marked tested up to WordPress 7.0. Added listing icon and banner assets. No functional changes.
0.4.0
Public beta. The embed shortcode is [rteo_connect embed=table object=…] (the tag matches the plugin name).
The embed widget is now loaded via wp_enqueue_script() and mounts into a placeholder element, instead of an inline script tag.
Hardened the JSON-LD output escaping; updated the Plugin URI and documented the external services this plugin uses.
0.3.0
RTEO control-plane integration routes (admin-authenticated): POST /wp-json/rteo/v1/page-token wires a course page’s schema token onto the matching post, and GET /wp-json/rteo/v1/instance-tables lets RTEO discover per-location/domain instance-table tabs from your page content.
0.2.0
New [rteo_connect embed=table object=…] shortcode — embed the live course instance table (Shadow-DOM, brand-themed) anywhere on your site, with optional display / rows / sort / dir / theme attributes.