github Tetrakern/fictioneer v5.7.0
Fictioneer 5.7.0

latest releases: v5.8.6, v5.8.5, v5.8.4...
12 months ago

!!ATTENTION!! After the update, please purge your theme caches under Fictioneer > Tools, save any post of your choice to force updates on several database fields, save any of your menus to purge outdated Transients, and flush your permalinks under Settings > Permalinks (just save) for good measure.

Toggle the [Disable all widgets] option if you used that. The checkbox evaluation was wrong.

If you have a cache plugin running, add /wp-json/storygraph and /wp-json/fictioneer to the URI fragment exceptions alongside what is noted in the INSTALLATION guide.

This was originally supposed to be a small patch, but here we are. Perhaps one of the most comprehensive behind-the-scenes updates yet, although I always say that. Certainly feels like it, though. I'm tired.

Please consider supporting me on Ko-fi if you like the theme.

Highlight: Fast AJAX

AJAX requests in WordPress tend to be notoriously slow. That's because they still need to load and initialize everything, including plugins and the theme. The REST API is slightly better in that regard, but not enough. Hence the new AJAX pipeline that just skips everything after the core has been loaded! To make the most of this, you also need to copy the Must-Use plugin fictioneer_001_fast_requests.php into the wp-content/mu-plugins folder (create one if it is missing). This should just work and if not, you can safely delete the file again. You can even customize it to your own needs as it is not updated with the theme.

The MU plugin prevents any regular plugins (except known cache plugins) from loading for selected theme actions, so everything else is not affected. Depending on the number of plugins you keep running, this alone can easily shave off hundreds of milliseconds from your requests. However, it also means the plugins will not work for these requests unless you add custom exceptions.

Personal test record was 89 ms instead of over 400 ms, and that's with only five plugins. Now imagine twenty or more that some WordPress guides want to force on you as "must-have".

Release Notes

  • Fixed: Card lists are no longer always empty if not scoped to selected post IDs
  • Fixed: Discord webhooks should now always work again
  • Fixed: The query in the Stories template will no longer ignore some stories
  • Fixed: The mobile menu will now work even if you have not named the main menu "navigation" (yikes)
  • Fixed: The scroll position does no longer reset when you open the mobile menu
  • Fixed: The chapter order on story cards now follows the story's chapter list
  • Fixed: Links and buttons in the mobile menu now all work again
  • Fixed: The navigation bar should now always have a background if sticky (probably)
  • Fixed: Custom backgrounds are now on the body to boost render performance (curse you, background-attachment!)
  • New: AJAX bypass routine to accelerate theme requests tremendously
  • New: Must-Use Plugin to skip plugin initialization for theme AJAX requests
  • New: You can use some key combinations (e.g. CTRL/CMD+B) to apply comment BBCodes
  • New: Option to accelerate AJAX comments
  • New: Development utilities, render statistics, and better errors if WP_DEBUG is true
  • Improved: Paragraphs styles now also consider obsolete formatting tags you should not even use
  • Improved: Story pages are now scoped to the author (unless they have the edit_others_pages capability)
  • Improved: The theme now checks for more cache plugins to be active
  • Improved: Better handling of custom chapter fonts
  • Improved: AJAX user data is now bundled into one accelerated request (instead of 5 slow ones)
  • Improved: The [Purge Story Data Caches] option is now [Purge Theme Caches] and also clears Transients
  • Improved: Added list of forbidden capabilities to role manager (just to be safe)
  • Improved: Reduced expensive CSS selectors to boost render performance
  • Improved: The [Enable AJAX nonce deferment] option has been merged with [Enable AJAX user authentication]
  • Added: FICTIONEER_ENABLE_MENU_TRANSIENTS constant
  • Added: FICTIONEER_KNOWN_CACHE_PLUGINS constant
  • Added: fictioneer_filter_ajax_get_user_data filter hook
  • Added: fictioneer_after_oauth_user action hook
  • Added: fictioneer_filter_{type}_card_footer filter hooks
  • Added: fictioneer_filter_allowed_orderby filter hook
  • Added: data-caching-active attribute on root if caching is active
  • Renamed: fictioneer_save_array_zero() to fictioneer_rescue_array_zero()
  • Renamed: fictioneer_ajax_get_finished_list() to fictioneer_ajax_get_finished_checkmarks_list()
  • Renamed: fictioneer_purge_cache_transients() to fictioneer_purge_transients()
  • Renamed: purge_nav_menu_transients() to fictioneer_purge_nav_menu_transients()
  • Removed: fictioneer_has_role() as it was no longer used
  • Removed: Most DOM optimizations for the mobile as they caused problems (sniff)

Don't miss a new fictioneer release

NewReleases is sending notifications on new releases.