WordPress
Sync status and conflicts
Sync status describes how a document’s content compares to the WordPress post it’s linked to. It appears in two places: the WordPress panel in the document editor, and the sync pill shown next to a document’s title in the Documents list.

Where sync status appears
- Editor, WordPress tab: a colored dot and a label describing the document’s current state, with a note underneath giving relative times (when WordPress was last edited, when you last synced) and the relevant action button (Pull, Push, or Publish).


- Documents list: a small pill next to the title, shown only for the two states that need attention. A document that is fully up to date shows no pill. The list’s “Filter” menu has a “WordPress sync” section with options Unpushed, WordPress update, and In sync.

States
Not connected to WordPress
The project itself has no WordPress site attached, so no document in it can have a sync state at all.
- Cause: the project was never connected to a WordPress site (or the site’s credentials are missing).
- Clears when: the project is connected to a WordPress site in project settings, or the credentials are restored.
Not published yet
Shown when the project is connected to WordPress but this particular document isn’t linked to any post yet.
- Cause: the document was created in Workover and never published, or it hasn’t been connected to an existing post.
- Clears when: you publish the document (creating a new WordPress post) or connect it to an existing post by pasting the post’s URL. Either action links the document and moves it into one of the states below.
Up to date with WordPress
The document’s body and any field edits match what’s currently on the connected WordPress post.
- Cause: nothing has changed on either side since the last push, pull, or publish.
- Clears when: either side changes. Editing the document moves it to “unpushed changes”; editing the post directly in WordPress moves it to “new changes in WordPress”.
New changes in WordPress
The connected post was edited directly in WordPress after the version Workover last synced.
- Cause: someone (or a plugin) modified the post in WordPress itself, outside Workover, and the post’s modification time is now newer than the version Workover holds.
- Clears when: you pull the latest version from WordPress (this overwrites the local body and fields and discards any staged edits), or you push anyway and confirm the overwrite.
Unpushed changes
The document has edits that haven’t been sent to WordPress yet.
- Cause: the document’s body has diverged from the version last synced from WordPress, and/or one or more WordPress fields (status, slug, excerpt, categories, tags, featured image, author, SEO, custom fields, and so on) have been staged but not pushed. If only field edits are pending, the label names how many field edits are waiting instead of saying “changes”.
- Clears when: you push to WordPress. This sends the body and every staged field, then clears the pending edits and records the version now held.
In the Documents list, a linked document that is up to date shows no pill; “unpushed changes” appears as an “Unpushed” pill, and “new changes in WordPress” appears as a “WordPress update” pill.
Push conflicts
Pushing is refused, rather than silently overwriting anything, when either of the following is true. A dialog explains which conditions applied before you can proceed.
- Changed on WordPress: the post was edited in WordPress since your last sync (the same condition behind “new changes in WordPress”). The dialog offers to pull the latest version first, or to overwrite WordPress’s changes anyway.
- Would remove WordPress-only content: pushing would drop content that exists on the live post but that the editor can’t represent, such as embedded video or media the document’s body no longer contains. The dialog offers only to overwrite anyway or cancel; pulling would not resolve this case, since the content in question was never brought into Workover’s body to begin with. This check does not apply when the document is edited through the WordPress block editor surface, since that surface sends WordPress’s own block markup unchanged.
Choosing to overwrite pushes the document’s current body and staged fields regardless of the conflict. A push made through an API token can never choose to overwrite: a token’s push still succeeds whenever there is no conflict, but a conflicted push always stops and needs a person to resolve it.
Refresh timing
- Opening the WordPress tab on a document reads the connected post live, so its status reflects WordPress at that moment.
- The pill shown in the Documents list is not a live check. It comes from a periodic background comparison, refreshed for a given project at most once every five minutes, with a full check across every connected project roughly every thirty minutes. Opening a project also triggers a background refresh, so a stale pill self-corrects without a manual action.
Still need help?
Can’t find what you’re looking for? Our team is here to help.