Repository navigation
Editloft 0.6263.1931
This is the biggest update since the first release, and it comes with two things to know before you install it.
Breaking change: read this first if you use the older modules
I retired six modules:
- Custom statuses, and the status rules that came with them (the rules live on in a new, smaller module)
- Editorial comments
- Editorial metadata
- Notifications
- The dashboard widgets ("Posts I'm Following" and the notepad)
- Cloud Sync
On my own site none of them held anything, and I'd rather keep a few things working properly than carry a lot of things loosely. They aren't loaded anymore and they aren't in the download. The code is still in the repository, in a legacy folder with a README that says what each one was and what it takes to move one back into modules/.
Nothing is deleted from your database. Comments, metadata, and settings from the retired modules stay right where they are. They just aren't read anymore.
If you rely on any of them, stay on 0.6218.1049. Custom statuses are the thing to think hardest about: if posts on your site are sitting in a status Editloft registered, Editloft doesn't register it anymore after you update, so move those posts to a core status first. If none of this applies to you, update.
The second thing is smaller. If you subscribe to the calendar feed in iCal or Google Calendar, the feed link has changed because it's signed more strongly now, so the old one stops working. Copy the new link from the Screen Options tab on the calendar page and subscribe again. The feed is still off by default.
What's left is the editorial calendar, the audit trail, and a small module that decides who can move a post between draft, pending, scheduled, and published. Those are the three that do real work on my own site, so this release is about making them work the way they look like they work.
What's different
- You can move a post without dragging it. Every calendar entry has a Move button, and every post in the Unscheduled panel has a Schedule button. Either one opens a small dialog with a date field. Dragging still works, and now it's one of two ways to do the same thing, which matters if you're on a phone, working from the keyboard, or using a screen reader.
- Every move has an Undo. Drop a post on the wrong day and the Undo is right there, using the date the post had before. Screen readers are told what happened, a success message stays for 15 seconds, and an error stays until you dismiss it. A calendar that can't load offers a Try again button rather than telling you to open the browser console.
- The Unscheduled panel and the calendar now agree. A draft dropped on a past day could fall back into the panel, and one moved to Unscheduled could stay off it, because the calendar saved the new date but not the flag both views read. Both are saved together now, and the panel redraws after every change so its count is right.
- Scheduled posts move properly. Drag a scheduled post to an earlier day and it used to keep its old publish time. Now it moves the publish time too. A scheduled post can't be dropped on a past day or into Unscheduled either, since that just strands it.
- Your filters stick. Content types, status, and how many weeks you're looking at take effect as you change them, and they're still set the way you left them the next time you open the calendar. Reset clears them.
- Editors can publish. The rules were missing the paths from draft to published and from scheduled to published, so an editor got an error in the block editor and a save that quietly did nothing in the classic one. That's fixed. The same missing rules made a WP-CLI publish quietly revert to draft unless you passed
--user. WP-CLI and scheduled publishes aren't gated at all now, so neither needs--useranymore. - Authors stop hitting a wall. If your role can't publish, the editor now offers Submit for Review instead of a Publish button that ends in an error, and a blocked move tells you who can do it. Authors can also move their own unpublished drafts to the trash.
- The audit trail reads like a history. Newest changes first, the exact time on hover, and a brand-new post says "Created as Draft" instead of "changed from auto-draft." It covers every post type the calendar does, and
wp editloft audit <post-id>prints the same history from the command line. - The calendar's easier to read. The status text was too small and too faded to pass a contrast check, so it's bigger and full strength. On a phone the Unscheduled panel drops under the calendar and the grid scrolls sideways at a size you can actually read. Post titles with apostrophes stopped showing up as
don’t, which is the kind of thing I should've caught sooner.
Smaller things
- The filter controls are labelled for screen readers, and the content types menu closes on Escape.
- Drafts no longer show the time someone started them, since that isn't a publish time.
- Calendar Options lists every post type the calendar can pick up, so you can turn any of them off. The setting for a quick-create post type is gone because nothing used it.
- The settings screen now lists the audit trail, so it's clear it's running.
- Labels use sentence case, and the shortcut under each post type's menu just says Calendar.
- There are 31 tests now, covering the transition rules for each role, the audit log, and the calendar's unscheduled check, and they run in CI.
If one of the retired modules was doing real work on your site, tell me which one. That's the thing most likely to bring it back, and I'll help you get through the update in the meantime.
Requirements
- WordPress 6.4 or later
- PHP 7.4 or later
Full notes are in CHANGELOG.md.