Integrations troubleshooting
6 min read
First look at WPM Fields › Settings › Health: integrations log their failures there (modules portability.code, fields.meta-bridge, fields.rest, integration.wpgraphql, integration.woocommerce, integration.multilingual, integration.yoast, integration.rank-math, integration.duplicate-post, fields.search). A module that fails does not break the page; integrations can be switched off after repeated failures.
PHP-registered field groups
Problem | Cause and fix |
|---|---|
I registered a group and nothing happened | The sync runs on an admin request of a user who can |
| The definition has no |
The group appears, but nowhere in the edit screens | The definition has no |
Red notice Some field groups registered in PHP could not be created or updated | Read the lines under it. The usual causes are below. It is retried on every admin page load; fix the code and reload. |
| A group with that key already exists and was not made by code. Rename the key in the code, or delete the editor group. The editor group is not touched. |
| A misspelled type, or a Pro type on a plan that does not include it (the message then says the type is not included in your plan). |
| Fix the key. Dashes, capitals and leading digits are refused, and reserved SQL words ( |
| Use a parameter from Location rules. Order rules ( |
It keeps re-syncing | The registered set differs between requests (conditional registration, registration after |
The CLI says | Normal: a sync replaces every registered group, and an admin or WP-CLI request already created them. |
I edited a registered group in the editor and it will not save | By design (HTTP 409 |
Removed fields and removed groups
- Removing a field from the code (or renaming a key without a
uid) never deletes data; the column stays as a leftover column. Registering the same key again reclaims the old values during the next sync, so nothing needs to be resolved by hand. - A group you stopped registering is released (editable, data kept). Registering the same key again takes it back: it becomes read-only and managed by code again.
- A group of the same key that came from the editor (never from code) is still a conflict; rename or delete one of them.
- A JSON import, Local JSON or REST call cannot overwrite a group that code owns (This field group is registered in PHP code...). Change the code.
Post meta bridge
Problem | Cause and fix |
|---|---|
| The field has no value for that post (and no real post meta either); or the bridge is off for the group; or the group is inactive; or the post type is not covered by the group's location. |
| The previous-value argument did not match, or the field type refused the value ( |
A second | A field holds one value; extra values stay in post meta and |
| It is not bridged (it works on rows, not on posts). Loop over posts with |
An old value shows after a delete | A delete without a value, or with the matching value, clears the field and the matching post meta rows. A delete with a different value clears nothing. |
Writes for a post do not reach the field | The group is not located on that post (any location rule that does not match, such as post status or template), the object is not a post (user, term), the group has no table, or ACF owns the key (its |
ACF's values are not used by the bridge | By design: for keys ACF owns ( |
Another plugin reads the wrong value | Turn Bridge get_post_meta() and update_post_meta() off for that group, or rename the field key. |
An importer fills nothing | It writes SQL directly rather than calling |
REST API and GraphQL
Problem | Cause and fix |
|---|---|
No | Show in the REST API is off, the group is inactive, or it has no |
| The group is not exposed for that post, or its location rules do not match that post. |
The field is missing from the GraphQL schema | See the table in REST API and WPGraphQL. |
A repeater is a JSON string in GraphQL | By design. |
WooCommerce order fields
Problem | Cause and fix |
|---|---|
No box on the order | Pro (or higher) plan not expired, WooCommerce active, group active with an Order or Order status rule, and the status matches the order's current status. |
| The Pro build is not active; wrap calls in |
Values vanished after the license ended | They did not: reading still works. The boxes return with the license. |
I need to set order values from code | Not possible with the plugin's API in this version: the values are written from the order screen only. |
WooCommerce lists the plugin as incompatible with HPOS | The plugin declares |
WPML and Polylang
Problem | Cause and fix |
|---|---|
The In translations select is missing | Business or Agency plan, and WPML or Polylang active. |
A translation keeps resetting a field | The field is in Copy mode. |
A new translation is empty | It already has a saved row, or the post has no original (Polylang: no default-language post). |
See WPML and Polylang.
SEO variables, Duplicate Post, search
See the troubleshooting table of Duplicate Post, SEO plugins and site search.
Known limitations in this version
Area | Limitation |
|---|---|
PHP groups | A sync always reports |
Meta bridge | A second non-unique |
WooCommerce | No function writes order values from code; they are saved from the order screen only. |
Still stuck? Contact support