airfleet/airfleet-wordpress-framework-php

Project releases

airfleet-wordpress-framework-php

Release 1.20.1

Fixes inline script orphaning on block editor pages by skipping premature script calls and preventing duplicate output.

GitHub
View full changelog

Fixed

  • Fixed InlineScriptRegistry orphaning all inline scripts on block editor pages where wp_print_scripts fires before admin_enqueue_scripts. The render() method now skips early wp_print_scripts calls when the registry is empty, preserving the admin_print_scripts hook as a fallback, and uses a $rendered flag to prevent double output.
airfleet-wordpress-framework-php

Release 1.20.0

Enqueued critical assets and editor styles inside the block editor iframe

GitHub
View full changelog

Changed

  • Changed Enqueue::enqueue_editor() to use enqueue_block_assets for editor styles so they load inside the block editor iframe (Block API v3+), while editor scripts remain on enqueue_block_editor_assets (parent page context)
  • Changed Enqueue::enqueue_critical() to also enqueue critical styles and scripts inside the block editor iframe via enqueue_block_assets, ensuring critical assets (e.g. window._airfleet.elements.core) are available to view scripts rendered in the iframe
airfleet-wordpress-framework-php

Release 1.19.3

Fixes inline script rendering order to ensure variables are output before enqueued scripts.

GitHub
View full changelog

Fixed

  • Fixed InlineScriptRegistry rendering inline scripts after enqueued scripts on frontend by hooking into wp_print_scripts (priority PHP_INT_MIN) instead of wp_head, ensuring inline variables are output before enqueued scripts within print_head_scripts
airfleet-wordpress-framework-php

Release 1.19.2

Fixes inline script rendering order on admin pages.

GitHub
View full changelog

Fixed

  • Fixed InlineScriptRegistry rendering inline scripts after enqueued scripts on admin pages by hooking into admin_print_scripts (priority 1) instead of admin_head, ensuring inline variables are output before print_head_scripts (priority 20)
airfleet-wordpress-framework-php

Release 1.19.1

Fixed priority for loading LocalJson and LocalJsonCategorized to resolve a loading issue.

GitHub
View full changelog

Fixed

  • Fixed priority for loading LocalJson and LocalJsonCategorized. Fixes issue with not loading all field groups.
airfleet-wordpress-framework-php

Release 1.19.0

Default local JSON cache enabled setting changed to false

GitHub
View full changelog

Changed

  • Changed airfleet/acf/local_json_cache/enabled to false by default
  • Only setup loading for LocalJson and LocalJsonCategorized after all plugins are loaded. This ensures filter airfleet/acf/local_json_cache/enabled is respected if another plugin sets it
airfleet-wordpress-framework-php

Release 1.18.3

Fixed a fatal error in the Benchmark due to a missing return statement

GitHub
View full changelog

Fixed

  • Fixed fatal error in Benchmark caused by missing return statement
airfleet-wordpress-framework-php

Release 1.18.1

Explicitly referred to non-namespace functions in scoper integration

GitHub
View full changelog

Fixed

  • Fixed defined, function_exists, and function calls to explicitly refer to non-namespace for better scoper integration
airfleet-wordpress-framework-php

Release 1.18.0

Added environment helpers, cache management and benchmarking features with various filters and actions for customization.

GitHub
View full changelog

Added

  • Added Environment helpers (Helpers\Environment) - determine environment (local, staging, production)
  • Added CacheManager utility class for working with cache
  • Added Cacheable trait to easily access global CacheManager instance
  • Added filter airfleet/cache/enabled to enable/disable cache
  • Added filter airfleet/cache/expiration to set cache duration in seconds (0 to not expire)
  • Added filter airfleet/cache/cache_dir_checks to enable/disable caching directory modification checks
  • Added filter airfleet/cache/expiration_dir_check to set cache duration for directory modification checks in seconds (0 to not expire)
  • Added filter airfleet/cache/manager to set cache manager
  • Added action airfleet/cache/flush to clear the cache
  • Added action airfleet/cache/hit that is triggered whenever cache is hit, but only if WP_DEBUG is enabled
  • Added action airfleet/cache/miss that is triggered whenever there is a cache miss, but only if WP_DEBUG is enabled
  • Added class Benchmark to setup benchmarking feature. When enabled, an HTML comment will be printed at the end of the page with the amount of time in milliseconds it took to run certain features. The comment is only displayed for authenticated users.
  • Added filter airfleet/benchmark/enabled to enable/disable performance benchmark
  • Added filter airfleet/benchmark/log_to_error_log to enable/disable logging benchmark results to the error log. This is in addition to the HTML comment and dependent on benchmarking being enabled
  • Added action airfleet/benchmark/start to start tracking a workload benchmark (must pass ID)
  • Added action airfleet/benchmark/stop to stop tracking a workload benchmark (must pass ID)
  • Added utility classes Timer and NestedTimerRegistry used for benchmarking

Changed

  • LocalJsonLoadFromCache: Refactored to use Cacheable and improve cache invalidation when ACF Local JSON directory contents change
  • LocalJsonCacheSettings: Automatically set default value for filter airfleet/cache/enabled based on environment (enabled for all except local)
  • Renamed filter airfleet/framework/acf/local_json_cache/enabled to airfleet/acf/local_json_cache/enabled
  • Renamed filter airfleet/framework/acf/local_json_cache/expiration to airfleet/acf/local_json_cache/expiration
  • Renamed action airfleet/framework/acf/local_json_cache/invalidate to airfleet/acf/local_json_cache/invalidate
airfleet-wordpress-framework-php

Release 1.17.1

Fixed automatic cache invalidation for field groups

GitHub
View full changelog

Fixed

  • LocalJsonLoadFromCache: Fixed automatic cache invalidation when saving field groups
airfleet-wordpress-framework-php

Release 1.17.0

Added object caching for ACF Local JSON through new classes and filters

GitHub
View full changelog

Added

  • Added object caching for ACF Local JSON through Acf\LocalJson classes
  • Added filter airfleet/framework/acf/local_json_cache/enabled to enable/disable cache for ACF Local JSON
  • Added filter airfleet/framework/acf/local_json_cache/expiration to set cache duration in seconds for ACF Local JSON
  • Added action airfleet/framework/acf/local_json_cache/invalidate to invalidate ACF Local JSON cache
airfleet-wordpress-framework-php

Release 1.16.0

Added is_string check for attribute values in Helpers\DisplayImplementation

GitHub
View full changelog

Added

  • Helpers\DisplayImplementation: Added is_string check in attributes() function to differentiate between regular string and callable functions as attribute value.
airfleet-wordpress-framework-php

Release 1.15.0

Added InlineScriptRegistry for handling inline scripts and introduced related filters.

GitHub
View full changelog

Added

  • Added InlineScriptRegistry for handling inline scripts, instead of using wp_add_inline_script
  • Added filter airfleet/framework/inline-script-registry/content to modify inline script content before output
  • Added filter airfleet/framework/inline-script-registry/data-attributes to modify script data attributes before output
  • Added filter airfleet/framework/inline-script-registry/deps to modify script dependencies before output
airfleet-wordpress-framework-php

Release 1.14.0

A remove button has been added to encrypted password fields, allowing users to update values manually.

GitHub
View full changelog

Added

  • Added Remove button in Options\Fields\EncrypytedPasswordField field to change value only if user want to update the value.
airfleet-wordpress-framework-php

Release 1.13.0

Added @wpengine.local to is_airfleet_email list, affecting is_airfleet_user function.

GitHub
View full changelog

Added

  • Added @wpengine.local to is_airfleet_email list (affects is_airfleet_user function).
airfleet-wordpress-framework-php

Release 1.12.1

Fixed is_editing_acf causing Undefined array key ID warnings while editing some blocks.

GitHub
View full changelog

Fixed

  • Helpers\Screen: Fixed is_editing_acf causing Undefined array key ID warnings while editing some blocks.
airfleet-wordpress-framework-php

Release 1.12.0

Default URL for settings link changed to options-general.php

GitHub
View full changelog

Changed

  • SettingsLink: changed default base url to options-general.php from admin.php. This affects the settings link in the Plugins page for both core option pages and ACF option pages. This should make the URLs consistent with the menu entries.
airfleet-wordpress-framework-php

Release 1.11.1

Fixed incorrect results from Helpers\Screen methods in_block_editor and in_block_editor_admin

GitHub
View full changelog

Fixed

  • Helpers\Screen: Fixed in_block_editor and in_block_editor_admin which could give wrong results under certain circumstances
airfleet-wordpress-framework-php

Release 1.11.0

Added kebabToPascal and kebabToTitle utilities to the String helper class.

GitHub
View full changelog

Added

  • Helpers\String: added utilities kebabToPascal and kebabToTitle
airfleet-wordpress-framework-php

Release 1.10.0

Performance improvements in Helpers":[Screen] methods

GitHub
View full changelog

Changed

  • Helpers\Screen: performance improvements for is_editing_acf, in_block_editor, and in_block_editor_admin
airfleet-wordpress-framework-php

Release 1.9.0

Added cache for is_editing_acf and in_block_editor checks

GitHub
View full changelog

Changed

  • Helpers\Screen: added cache for is_editing_acf and in_block_editor
airfleet-wordpress-framework-php

Release 1.8.2

Fixed required field validation for hidden fields

GitHub
View full changelog

Fixed

  • Fixed required field validation when it is hidden (field is not visible but still required)
airfleet-wordpress-framework-php

Release 1.8.1

Fixed screen detection utilities due to a change in ACF or WP.

GitHub
View full changelog

Fixed

  • Fixed screen detection utilities in_block_editor_ajax, in_block_editor, and screen (due to change in ACF or WP, in_block_editor_ajax was not detecting correctly)
airfleet-wordpress-framework-php

Release 1.8.0

Options Wizard now supports Field object instances and custom class names

GitHub
View full changelog

Changed

  • Options Wizard now also supports Field object instances or custom class names to instance set in the type property
airfleet-wordpress-framework-php

Release 1.7.1

Fixed PHP warnings in Screen helpers

GitHub
View full changelog

Fixed

  • Fixed PHP warnings related to Screen helpers in_block_editor_ajax() and in_block_editor()
airfleet-wordpress-framework-php

Release 1.7.0

Classes now accept optional operator arguments for matching

GitHub
View full changelog

Changed

  • LocalJsonByLocationParam and LocalJsonCustomFilenameByLocationParam now accept optional argument to specify operators to match
airfleet-wordpress-framework-php

Release 1.5.0

Added LazyOptionsTab and LazyOptionsPage for improved performance

GitHub
View full changelog

Added

  • Added Options\Tabs\LazyOptionsTab (pass a callable to get options Group that is only called when used)
  • Added Options\Pages\LazyOptionsPage (options page that uses LazyOptionsTab)
airfleet-wordpress-framework-php

Release 1.4.0

Updated Section description field to allow link usage

GitHub
View full changelog

Changed

  • Updated description field for Section to allow using links
airfleet-wordpress-framework-php

Release 1.3.0

Added hidden and image options field types

GitHub
View full changelog

Added

  • Added hidden options field type (hidden input)
  • Added image options field type (file upload)
airfleet-wordpress-framework-php

Release 1.2.2

Fixed issues with WordPress framework settings and multisite option tabs.

GitHub
View full changelog

Fixed

  • Fixed options page not appearing under Settings menu and option tabs not working for multi-sites
airfleet-wordpress-framework-php

Release 1.2.1

Fixed a warning when reading non-ACF local JSON files

GitHub
View full changelog

Fixed

  • ACF\LocalJson - fixed warning when reading non-ACF local JSON files
airfleet-wordpress-framework-php

Release 1.2.0

Added new ACF JSON syncing features with customizable filenames and location rules.

GitHub
View full changelog

Added

  • Added Acf\LocalJsonCustomFilename - syncs ACF JSON from a custom path and saves to a specific filename
  • Added Acf\LocalJsonCustomFilenameByLocationParam - syncs ACF local JSON for groups with a specific param value in the location rules and saves to specific filename
  • Added Acf\LocalJsonCustomFilenameCustomTemplate - syncs ACF local JSON for custom page templates and saves to custom filename

Changed

  • Acf\LocalJson - now syncs deletion regardless of filename (previously only synced deletion if file was named group_*.json)
airfleet-wordpress-framework-php

Release 1.1.0

Added support for syncing ACF JSON from a custom path.

GitHub
View full changelog

Added

  • Added Acf\LocalJsonCategorized - syncs ACF JSON from a custom path, using natural filenames and different sub-folders based on ACF type
airfleet-wordpress-framework-php

Release 1.0.0

Updated settings pages to use plugin slug instead of ACF generated slug

GitHub
View full changelog

Changed

  • BREAKING: updated AcfSettingsOptionsSubPage, AcfToolsOptionsSubPage, AcfAirfleetOptionsSubPage, AcfSettingsLink to use plugin slug instead of ACF generated slug
airfleet-wordpress-framework-php

Release 0.6.0

Added two new sub-pages for ACF options: one under the 'Settings' and one under the 'Tools' menus.

GitHub
View full changelog

Added

  • Added Plugin\AcfSettingsOptionsSubPage - add ACF options sub-page under core "Settings" menu based on plugin config
  • Added Plugin\AcfToolsOptionsSubPage - add ACF options sub-page under core "Tools" menu based on plugin config

Changed

  • Updated MenuTabsPage to support "tools" menu type
airfleet-wordpress-framework-php

Release 0.5.0

Added new helpers and features to the framework, including attribute rendering and local JSON syncing.

GitHub
View full changelog

Added

  • Added Helpers\Display::attributes and Helpers\Display::data_attributes - render attributes for HTML elements
  • Added Acf\LocalJsonByLocationParam - sync local JSON for groups that match a specific location rule
  • Added Acf\LocalJsonCustomTemplate - sync local JSON for a specific custom page template
airfleet-wordpress-framework-php

Release 0.4.0

Added a Strings helper for case conversions

GitHub
View full changelog

Added

  • Added Strings helper (Helpers\Strings) - convert between different cases
airfleet-wordpress-framework-php

Release 0.3.0

Added feature classes and functionality for ACF options pages.

GitHub
View full changelog

Added

  • Added ACF options feature classes (Acf\OptionsPage, Acf\OptionsSubPage, Acf\AirfleetOptionsSubPage)
  • Added Plugin\AcfAirfleetOptionsSubPage - add ACF options sub-page under Airfleet menu based on plugin config
  • Added Plugin\AcfSettingsLink - add settings link on Plugins admin table for ACF options sub-page based on plugin config
airfleet-wordpress-framework-php

Release 0.2.0

Added various utilities for enqueueing assets, adding links to the Plugins table page, and detecting theme and user information.

GitHub
View full changelog

Added

  • Added enqueue utilities (Assets\Enqueue)
  • Added inline script and variables utilities (Assets\InlineScript, Assets\ScriptVariables, Assets\FrontendVariables, Assets\EditorVariables, Assets\AdminVariables, Assets\CriticalVariables)
  • Added utility to add plugin action links on the Plugins table page (Plugin\ActionLinks)
  • Added utility to add plugin settings link on the Plugins table page (Plugin\SettingsLink)
  • Added Airfleet helper (Helpers\Airfleet) - detect Airfleet Starter Theme, Airfleet users, and post types/taxonomies
  • Added Screen helper (Helpers\Screen) - detect current screen and post type
  • Added Assets helper (Helpers\Assets) - get asset URL and get manifest
  • Added Display helper (Helpers\Display) - pretty print, dump, and render reusable blocks
  • Added plugin feature utilities (Features\PluginFeature, Features\BasePluginFeature and Features\PluginFeatures) - extra plugin specific hooks compared to Feature (activation, deactivation, uninstall)
  • Added Hooks helper (Helper\Hooks) - remove class filter/action
  • Added Acf\LocalJson utility
airfleet-wordpress-framework-php

Release 0.1.0

Initial framework creation with added utility and feature classes

GitHub
View full changelog

Added

  • Created package
  • Added Options utilities
  • Added Features classes