Thanks for the detailed write-up @fierys, that’s enormously helpful.
The behaviour you are describing matches the issue tracked in #1252. In short: when the Authors panel in the editor cannot resolve one of the saved author term IDs, the panel can persist data that leaves wp_posts.post_authorout of sync with the chosen co-author. That is exactly why deactivating Co-Authors Plus reverts the post to “Administrator”, and why a Quick Edit save resolves it (Quick Edit goes through a different code path that always re-syncs post_author).
The fix is in #1253, already merged to develop, and will ship in the next release. It is not in 4.0.2.
If you are happy to help me verify, two questions:
- When you open a fresh post in the editor as Administrator, does the Authors panel show a brief spinner before resolving your name, or does it show a spinner that never goes away?
- If you remove the Administrator entry before adding the new author (rather than after), does the saved result differ at all?
In the meantime, the Quick Edit workaround you have already discovered is the reliable path until the next release lands.
Thread Starter
Fierys
(@fierys)
Hi! Thanks for the detailed response, I really appreciate the help and for looking into this.
Regarding your questions to verify the fix:
About the spinner: When I create a fresh post, the spinner appears only for a split second, and the “Administrator” name is resolved almost instantly.
About the order of actions: I actually cannot remove the “Administrator” entry before adding a new author. The “X” (remove) button is inactive/greyed out when there is only one author in the list.
The workflow: Because of point #2, I have to add the new author first, and only then can I remove the Administrator.
Glad to hear the fix is already in develop. I’ll keep using the Quick Edit workaround until the next release. Thanks again!
Thanks for the help so far. I’ve tried to reproduce this on a clean WordPress 6.9.4 site running Co-Authors Plus 4.0.2 with the Twenty Twenty-Five theme and no other plugins, going through the same flow you described, and wp_posts.post_author is correctly updated to the chosen author after publish. So I think there’s something in your specific environment that’s interfering with the sync.
A few things that would help me narrow it down:
- The list of all active plugins on the site.
- Whether the site uses a persistent object cache (Redis, Memcached, or a plugin like W3 Total Cache, Redis Object Cache, etc).
- If you switch to a default theme like Twenty Twenty-Five and repeat the publish flow with no other changes, does the bug still occur?
- If yes to point 3, with the default theme active, does deactivating every other plugin except Co-Authors Plus and repeating the flow still reproduce the bug?
Quick Edit will continue to work as a reliable workaround in the meantime.
Thread Starter
Fierys
(@fierys)
I cannot deactivate all plugins or switch themes for an extended period because this is a live production site with active users.
However, I have verified that switching to Twenty Twenty-Five alone did not resolve the issue.
Thanks, that narrows it down considerably. If switching to Twenty Twenty-Five didn’t fix it, the conflict is on the plugin side rather than the theme side. Three things would help, and none of them require deactivating anything on your live site:
- The list of active plugins. You can grab it from Plugins → Installed Plugins, or, if you have WP-CLI access,
wp plugin list --status=active --field=name. With that I can check whether anything obvious filters the REST author lookup or post-save flow.
- Whether the site uses a persistent object cache. Redis, Memcached, or any caching plugin in that category. You can check from Tools → Site Health → Info → Constants, or via WP-CLI with
wp eval 'echo wp_using_ext_object_cache() ? "yes" : "no";'. This matters because the post_author re-sync happens immediately before the REST response is sent, and certain object caches can serve a stale get_post()to the code that does the sync.
- If you have access to a staging copy, or a tool like the Health Check & Troubleshooting plugin’s Troubleshooting Mode, you can deactivate other plugins only for your own admin session without affecting other visitors at all. That would let you run the bisect safely on production. Activating Troubleshooting Mode → disable all plugins → reactivate Co-Authors Plus only → repeat the publish flow. If that fixes it, you can then re-enable plugins one by one in the same Troubleshooting session to find the culprit.
Quick Edit remains a safe workaround in the meantime.
Hi @fierys,
Good news, and you can stop the Health Check steps — we don’t need them. The fix for exactly this (post_author being reset by the editor’s second, meta-box save, which is what the Blocksy author box reads) is now merged and will ship in the next release, 4.1.0. That’s why deactivating CAP or using Quick Edit “fixed” it: both routes rewrote post_author, and 4.1.0 keeps it correct from the first save.
Just so I know it fully covers your setup: is the author you switch to a regular WordPress user, or a guest author? And if a guest author, is it linked to a WordPress user account? The realignment needs a real user behind the byline; a standalone guest author with no linked account is a separate known limitation (#582). Thanks for the thorough testing — it confirmed it wasn’t theme-specific.