1.3.3
Requires Modern Fields 1.5.0 or higher.
Security
- Query Loop filters: anyone, logged out included, could add the filter and ordering parameters to a public REST request for posts and work out the value of a field kept out of the REST API, or of another plugin’s private data, from which posts came back and in which order. They now only apply to the editor preview of a user who can edit content, and only on the fields the Query Loop panel offers for that post type. Filters saved in your Query Loops work as before on the site
Improved
- The block editor loads around 65 KB less: the Relation, Repeater and Block Editor fields are compiled once instead of once per screen
Fixed
- Saving a block stripped every backslash from its settings: accented titles came back as “u00c9vu00e9nement”, and a double quote in the title, description or keywords emptied the block’s settings and took it out of the inserter. What you type is now saved as is. Titles already damaged need retyping once
- Query Loop filters: a failed request for the filterable fields made the panel say the post type had none. The error is now shown, and the filters and ordering already saved keep applying meanwhile
- Order by Meta: an ordering on a field that was deleted, or no longer applies to the post type, showed “Default order” while it kept sorting the loop. It now stays selected, marked as unavailable
1.3.2
Fixed
- A failed update check made an already-detected update disappear from the plugins screen, for up to twelve hours. A request that timed out, a firewall page, or one site checking too often was enough. The plugin now keeps what it knows when it cannot reach the licence server, and clears it only when the server actually answers that there is nothing new
- A cancelled subscription cut the premium features off straight away instead of running to the end of the period already paid for
1.3.1
Fixed
- The licence registered itself under modern-fields.com rather than under the site’s own address, so site limits counted wrong and two installs were indistinguishable from one another. Every site now registers under its own URL, and re-registers itself once while updating — there is no key to retype
- A site whose stored licence data had been cleared kept showing a saved key that no longer did anything. The key is now read back from the plugin’s own settings and the licence reactivates on its own
- Plugin details — the changelog, and the PHP and WordPress versions the plugin needs — now reach the WordPress updates screen. They were falling back to defaults that could report a PHP requirement higher than the real one, which stopped the update from installing on sites running PHP 8.1
1.3.0
Requires Modern Fields 1.4.1 or higher.
New
- Conditional Logic block: conditions can now be combined with OR. Every row belongs to a group, the rows of a group all have to hold, and any group holding is enough — so “A and B, or C” is expressible without ever nesting
- Query Loop filters: the same grouping. Filters sharing a group are combined with AND, the groups themselves with OR
- Both: the relation is spelled out on the separator between rows, so the shape of the expression reads without counting boxes, and the group chrome only appears once a second group exists
- Query Loop filters: a date filter can compare to Today instead of a fixed date — posts already past, events still to come. Today is resolved when the query runs, in the site’s timezone, so a saved filter is never a day out
- Date filters: the date you typed is kept while Today is selected, so switching back hands you your own date again
Improved
- Date filter operators are spelled out: “is today or after” rather than a bare symbol
- Ordering moved out of the filters panel into an Order by Meta panel of its own, so resetting one no longer clears the other’s work
- A group whose rows are all still incomplete is left out of the query rather than emitted empty, which would have widened the results instead of narrowing them
Fixed
- A Date field in time-only mode was filtered as a date: the comparison cast “14:30” to a SQL date, which never compares. The filter silently matched no post at all under is, is after and is on or after, and every post in the loop under the three others. Those fields now filter as times, with a time input instead of a calendar
- A filter saved on such a field came back looking correctly configured; it now comes back as an empty time input to fill in, and keeps running meanwhile instead of vanishing from the loop
- Time-only Date fields stay available in Order by Meta, still sorted as text rather than as datetimes
1.2.0
New
- New Block Editor field: a miniature block editor inside your field groups, offering Paragraph, Heading, List, Quote, Code and Separator — pick which ones in the field settings
- The Block Editor field has its own undo and redo, so editing a field never rolls back the post around it
- Block Editor field: turn on Use the theme styles to write in a frame that renders the content exactly as the theme does, fonts, colors and heading sizes included
- get_field() returns a Block Editor field as rendered HTML, blocks and shortcodes resolved, ready to print in a template
- The Field Value block now displays Icon fields, converting into a native WordPress Icon block that follows the field post by post
- The Field Value block now displays Embed fields, converting into a native WordPress Embed block that follows the field post by post
- The Field Value block now displays File fields, converting into a native WordPress File block that follows the field post by post
- The Field Value block now displays Gallery fields, converting into a native WordPress Gallery block whose images follow the field post by post
- The Field Value block now displays Link and Post or Archive Link fields, converting into a native Button block carrying the destination, the label and the target
- The bound File, Embed, Icon or Gallery field can be repointed or detached afterwards from the block’s inspector
- A Gallery block bound to a field can also bring the images shown in the editor back in step with the field, from that same inspector
- Embed and Icon fields can be used as conditions in the Conditional Logic block: an embed compares like text, an icon on whether it is set
- Relation field: the new Bidirectional option records the reverse relation, so a post can be asked which posts point at it, read with modern_fields_get_linked_posts()
Improved
- The Relation, Repeater and Block Editor field settings moved to the block editor’s own settings panels: an option shows at a glance whether it has been changed, resets on its own, and the whole section resets at once
Fixed
- Editors and authors could not use the Field Value block or the Query Loop filters: both asked for administrator rights. Which field groups they see is still governed by the roles set on each group
- Field groups targeting specific posts, a term, a template or a status were missing from the Field Value block and the Query Loop filters, which showed an empty list
- The Field Value block now offers exactly the fields whose group applies to the post being edited, matching the metaboxes
- A failed field list request no longer looks like a post type without fields: the error is shown
- A Relation field dated its selected posts in its own format instead of the site’s, disagreeing with the search results beside them
- A Query Loop filter set on a field that is no longer offered — its group moved, or the field was renamed — silently lost its value. It stays, marked unavailable, with the value it filters on
1.1.0
New
- New customization options for the repeater row container
- Added a “order by” meta value in the query loop filters so you can order posts by a meta value date for example.
Improved
- You can now select “Advanced” tab in custom and existing block locations
- Field types (eg: Toggle) are now shown along with fields name in conditional logic, query loop filters and field value block selectors
- The Field Value block “Options page” source now also lists fields from Dashboard widget groups
Fixed
- Fixed a bug where custom values weren’t properly saved in a Custom Post Type
- Filters reset when changing post type in query loop block filters
- Fixed the field value block when selecting a time value
- Options pages are now administrator only. WordPress needs manage_option capability to store data.
- Options pages now show an error notice when saving fails instead of failing silently
- Fixed a blank options page when the group contains a repeater field that was never saved
1.0.0
New
- Clean up for official release
- Check free version minimum version requirement before activation
Fixed
- Fixed auto block slug generation in block form
- Fixed unavailable sources in Advanced Field Value Block
- Removed flickering on the relation loop block when selecting posts
0.9.2
New
- Status option for the Relation field.
- Trash support for custom blocks: move to trash, restore, or delete permanently, with an Active/Trash filter.
- New filter `modern-fields/blocks/template_directory` to change PHP block template directory
- New filters to change the value returned by getField(): `modern-fields/get_field/value`and `modern-fields/get_field/name=field-name`
- Field value block is now available in query loops and templates
- Edit your meta from the query loop preview
- Modern Fields Pro now requires Modern Fields 1.2.0 or higher, with a clear notice if your free version is too old
Improved
- A better UI for the block builder, with a checklist to help you easily build blocks.
- The Blocks builder and the Licence screen are now part of the single-page Modern Fields admin (no reload when switching tabs).
- Validation notices (incl. Options pages) now appear at the bottom-center, matching WordPress 7.0.
- Cleaner empty states in the Blocks list.
- Cleaner UI for block registration
Fixed
- Fixed issues with groups locations not correctly displayed
- Fixed the field value block preventing to select button
- Custom Block categories are now selectable