All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Column registration now uses
AC\ColumnFactories\Aggregateand aColumnFactoryCollectionFactory(same pattern as ACP's ACF addon) - Added
ProfileFieldsFactory(classes/ColumnFactories/ProfileFieldsFactory.php) to register profile field columns onacp/init
- Eval-based subclass generation and
ac_wc_memberships_profile_field_column_class() - Filter
ac/column/types/pro; oneColumnclass, no generated subclasses
- Column constructor now receives dependencies (
FeatureSettingBuilderFactory,DefaultSettingsBuilder) explicitly; resolved at instantiation in generated subclass, not inside Column (per Admin Columns developer feedback) - Validation of
profile_slugandlabelmoved outside Column toac_wc_memberships_profile_field_column_class(); Column assumes validated input
get_export()override; display and export both useValueFormatterviaget_formatters()Formatter\ExportFormatter.php(redundant with ValueFormatter)Column\Export.php(unused export service class)
- Sorting fatal error: pass string to
SqlOrderByFactory::create()(order name with'ASC'fallback) for Admin Columns Pro 7 compatibility - Export fatal error: use
AC\Formatter(ExportFormatter) inFormatterCollectionfor export column values instead of Export service - Column registration: register class name strings and dynamic subclasses; Column resolves
AdvancedColumnFactorydependencies (FeatureSettingBuilderFactory, DefaultSettingsBuilder) from AC DI container - ValueFormatter:
format()signature and Value API (get_id(),with_value()) forAC\Formattercompatibility
- Support for Admin Columns Pro 7
ColumnFactoryfor dynamic column registration (one factory per profile field)ValueFormatterfor list table display viaAC\FormatterCollection
- Breaking: Requires Admin Columns Pro 7.0+ (v6 no longer supported)
- Breaking: Requires PHP 7.4+
- Column registration:
add_action('acp/column_types')replaced byadd_filter('ac/column/types/pro') - Column base class:
AC\Columnreplaced byACP\Column\AdvancedColumnFactory - Display:
get_value($id)replaced byget_formatters(Config)returningAC\FormatterCollection - Features:
editing()/sorting()/export()/search()replaced byget_editing()/get_sorting()/get_export()/get_search()withAC\Setting\Config - List screen check uses
AC\TableScreenandget_key()/get_id()forwc_user_membership
- Version check for Admin Columns 6.3
- Direct
register_column_type(new Column(...))in favor of factory instances
- Dropdown filter with all available values for each profile field
- Automatic discovery and population of filter dropdown options from existing user meta values
- Value caching for improved filter performance
- Search/filter functionality now uses dropdown select instead of plain text input
- Filter now shows only exact match (EQ) operator for better dropdown compatibility
- Improved handling of serialized array values in filter dropdown
- Fixed profile field slug extraction from column type when columns are loaded from saved configurations
- Fixed inline editing not saving values by ensuring profile field slug is correctly passed to supporting classes
- Fixed meta key construction to include profile field slug in all cases
- Updated all supporting class instantiation methods (Editing, Export, Search, Sorting) to use
get_profile_field_slug()method - Improved user ID retrieval consistency across all classes using
get_post_field() - Columns now properly categorized under "woocommerce" group instead of "custom"
- Dynamic column creation for WooCommerce Memberships Profile Fields
- Automatic discovery of profile fields by querying user meta keys
- Support for displaying profile field values from post author's user meta
- Full Admin Columns Pro integration with editing, export, search, and sorting capabilities
- Columns automatically registered for
wc_user_membershippost type
- Transformed single-column template into dynamic multi-column system
- Updated all column classes to work with user meta instead of post meta
- Modified search and sorting queries to join
wp_usermetaviawp_posts.post_author
- Initial column template for Admin Columns Pro