Appearance
Changelog
All notable changes to WPfaker are documented here.
v0.13.0 — 2026-03-14
A release focused on image provider changes, improved title generation, and AI/Hive reliability fixes.
Added
LoremFlickr image provider. A new default image provider that delivers real photographs filtered by category keywords. WPfaker auto-detects the post type context and requests matching images (e.g., food photos for recipe CPTs, portraits for person-related CPTs). No API key required.
Category-aware image metadata. Generated images now receive context-appropriate alt text, captions, and descriptions based on the detected image category, improving accessibility and realism.
Title derivation for CPTs without title support. Custom post types that do not support the
titlefield now get titles derived from their generated custom field values, so they display meaningful text in admin lists.Unresolved field logging. Field names sent to AI or Hive for detection are now logged, making it easier to audit which fields fall through pattern matching.
Interactive release script. A TUI-based release workflow using
gumwith four modes (patch, minor, major, hotfix), optional Pest and E2E test selection, and production safeguards.
Changed
Default image provider switched to LoremFlickr. LoremFlickr replaces Unsplash as the default image provider. LoremFlickr requires no API proxy and supports category-based filtering out of the box.
Pexels and Pixabay removed. Both providers and their API key configuration have been removed from the plugin. They added setup friction (API keys) without meaningful quality advantages over the free alternatives.
Toast notifications replace admin notices. Image provider feedback and other transient messages now use toast notifications instead of WordPress-style admin notices, reducing visual noise.
Movie title templates expanded. Movie title generation now uses 15 patterns per locale with greater word variety for more realistic output.
Fixed
AI pre-filter CPT context. CPT context is now set before the AI pre-filter runs, so domain-specific fields are recognized correctly during batch detection.
Redundant AI/Hive calls. Fields that pattern matching already resolves are now skipped before reaching AI or Hive, reducing unnecessary API calls.
Hive toggle state. The Hive toggle now depends only on whether an API key is set, not on the ephemeral connection test result. Previously, a slow connection test could disable Hive even with a valid key.
Delete All endpoint. Fixed a regression where the Delete All endpoint returned an error.
License deletion on server-side deactivation. When a site is deactivated server-side, the local license key is now properly deleted.
Person-related CPT image keywords. CPT slugs related to people (actors, staff, team) now map to "portrait" instead of "people" for better image results.
v0.12.0 — 2026-03-13
A major internal refactoring release that restructures the adapter architecture, adds new field detection providers, and improves AI detection accuracy.
Added
FakerRestaurant and FakerCommerce providers. Two new custom Faker providers generate domain-specific data for restaurant and e-commerce CPTs — menu items, ingredients, cuisine types, product categories, and commerce-related values.
Value list fallback stage. When pattern matching and context rules cannot resolve a field, a new value-list fallback queries the Hive for curated value lists and falls back to AI generation. This adds a fourth detection stage after pattern matching, context rules, and AI detection.
Hierarchical path context in AI prompts. AI batch detection now receives the full field hierarchy path (field group > parent field > field name), improving accuracy for nested and ambiguous field names.
Hive value list query and reporting. The Hive API now supports querying and reporting value lists, enabling community-sourced dropdown and select field options.
Changed
Adapter architecture refactored. Field plugin adapters no longer contain generation logic. A new
FieldAdapterInterfacedefines adapters as pure translators: they read field definitions from their respective plugins and normalize them into a standard format. A centralFieldValueGeneratorhandles all value generation, eliminating duplicated logic across adapters.NormalizedFieldType enum. A new enum class standardizes field types across all plugins. Each adapter provides a type map that translates plugin-specific types (e.g., ACF's
wysiwyg, Meta Box AIO'stextarea) to normalized types.AbstractFieldPluginAdapter renamed to AbstractFieldAdapter. The base adapter class has been renamed for brevity. All adapters now implement the new
FieldAdapterInterface.
Fixed
Sub-fields included in AI detection. Nested sub-fields (repeater rows, group children) are now included in the AI batch detection pipeline. Previously, only top-level fields were sent.
Food context rules broadened. Context rules for food-related fields now match more parent field names, and a new commerce context rule has been added.
Unsplash API URL configuration. The Unsplash proxy now uses the configured API URL instead of a hardcoded value, with a category-aware fallback when the proxy is unavailable.
License API routing. License API calls now route directly to the Go API instead of the broken wpfaker.com proxy.
PHP warning suppression. PHP warnings are now buffered on REST API requests to prevent them from corrupting JSON responses.
Optional Faker providers guarded. Custom Faker providers that depend on optional vendor packages no longer throw fatal errors when those packages are missing.
v0.11.0 — 2026-03-10
A major release introducing comprehensive locale awareness, expanded field plugin support, a revamped UI built on Tailwind CSS v4, an addon system for third-party extensions, and intelligent content generation powered by AI and the WPfaker Hive.
Added
WPfaker Hive integration. Taxonomy terms and title templates can now be pulled from the WPfaker Hive — a collective knowledge base built by every participating installation. The plugin draws on shared field detection knowledge, producing more domain-appropriate data out of the box without manual tweaking.
AI-powered title generation (3rd fallback stage). When neither a template title nor the contextual title generator can produce a suitable title, WPfaker now falls back to an AI-based title generator. This ensures every post gets a meaningful, context-relevant title rather than a generic placeholder.
Context-aware image downloads. Featured images are now selected based on the custom post type name. A "property" CPT will pull architectural photos, a "recipe" CPT will pull food images, and so on. The image category is auto-detected from the post type slug, with a manual override available.
Default image provider setting. A configurable default image provider in Settings. Previously, you had to select a provider every time.
CPT-contextual post titles. Post titles now reflect the domain of the custom post type. A vehicle listing CPT generates titles like "2019 BMW 320i Touring" while a real estate CPT produces "3-Zimmer Altbauwohnung in Berlin-Kreuzberg". Title generation is locale-aware across English, German, French, Spanish, and Italian.
Multi-provider AI field detection. The AI-powered field detection system now supports Google Gemini, Anthropic Claude, and OpenAI as providers. Previously only Gemini was available. You can configure your preferred provider and API key in Settings.
WPfaker Hive. A collective knowledge base that aggregates field detection knowledge across all participating installations. When one WPfaker installation detects a field type via AI, that mapping is shared with the Hive, reducing redundant API calls and improving detection accuracy over time.
Context-aware AI field generation. The AI system now generates domain-appropriate faker configurations. For an automotive CPT, fields named "mileage" will get realistic kilometer ranges; for real estate, "price" fields get property-appropriate price ranges rather than random numbers.
VIN and license plate field detection. The smart field detection system now recognizes vehicle identification number (VIN) fields and license plate fields by name patterns, generating properly formatted values automatically.
Meta Box AIO adapter. Full support for Meta Box AIO field types, including all standard fields and custom field groups.
ACPT (Advanced Custom Post Types) adapter. Complete support for ACPT field definitions, including the ACPT plugin logo in the supported plugins display.
CPTUI adapter. Support for Custom Post Type UI plugin field configurations.
JetEngine complete support. 22+ JetEngine field types are now supported, including JetEngine Relations (One-to-One, One-to-Many, Many-to-Many) and Options Pages. The JetEngine logo has been updated to the official SVG version.
ACF Extended (ACFE) compatibility. Full support for ACF Extended field types including
acfe_address(locale-aware with 8 languages),acfe_field_types,acfe_image_sizes,acfe_post_field,acfe_code_editor, and more. Both prefixed and non-prefixed ACFE field types are recognized.Comprehensive Pest PHP test suite. A full test suite using Pest PHP has been added, covering adapters, services, generators, and controllers. PHPUnit configuration is included for CI integration.
History auto-cleanup and bulk delete. The History tab now supports automatic cleanup of old entries and bulk deletion, making it easier to manage large volumes of generated content.
Help tooltip system. Context-sensitive help tooltips with links to docs.wpfaker.com have been added throughout the admin interface, with full German translations.
Gutenberg editor sidebar integration. An "Edit Template" button now appears in the Gutenberg editor sidebar, giving you quick access to the template editor for the current post type without leaving the editor.
Admin columns. The WordPress post list table now shows WPfaker-specific columns for author and variation profile, making it easy to identify generated content at a glance.
Dynamic system capacity detection. WPfaker now reads your server's PHP
memory_limitandmax_execution_timeat runtime and calculates safe per-request limits for posts, terms, and users. On a powerful server you can generate up to 500 items per request; on shared hosting the limit scales down automatically. A new "System & Performance" section in Settings shows the detected values and lets you override them if needed.Post budget for related posts. When generating posts that depend on other CPTs, WPfaker now allocates a shared budget. The budget equals the server's maximum minus the main post count, and the remaining capacity is distributed across all enabled related CPTs. If the total exceeds the server limit, related post counts are proportionally capped so the request stays within safe bounds.
Live budget bar on Generate Posts. A real-time progress bar below the Basic Settings card shows how many posts will be created in total — including related CPTs. It breaks down the count per post type (e.g., "10 Projects + 5 Teams + 3 Locations = 18 total") and highlights when the total exceeds the server limit.
Server capacity hints on Generate pages. The Generate Terms and Generate Users pages now display the server-calculated maximum per request, along with the detected memory limit and execution timeout. A link to Settings makes it easy to adjust the limits.
Media reuse for orphaned images. When you delete generated posts but keep the media, those images become orphaned. WPfaker now tags each downloaded image with its source CPT on creation. On the next generation run, it checks for orphaned images matching the target post type and reuses them before downloading new ones. This speeds up repeated generate-delete cycles and reduces unnecessary network requests.
Template editor redesign. The template editor has been rebuilt from a three-column layout into a single-column design with five tabs: General Settings, Core Fields, Custom Fields, Taxonomies, and Related Post Types. Each tab focuses on one aspect of the configuration, making the editor easier to navigate — especially on smaller screens.
Linked child templates. Templates for related CPTs can now be linked directly from the Related Post Types tab. Create a new child template, link an existing one, or unlink it — all without leaving the parent template editor. Linked child templates are used automatically when auto-creating related posts during generation.
Save & Generate button. A new action in the template editor header saves the template and navigates directly to the Generate Posts page with the template pre-applied. An optional auto-run setting in Settings triggers generation immediately after navigation.
Auto-select default template. Switching the post type on the Generate page now automatically loads the default template for that type. For post types with only one template, that template is auto-selected regardless of whether it is marked as default.
Edit Template button on Generate page. When a template is active on the Generate page, an Edit Template button next to the dropdown lets you jump into the template editor without navigating away.
Settings persistence for Terms and Users tabs. Generation settings for the Terms and Users tabs now persist across sessions, matching the existing behavior of the Posts tab.
TimeSavingsService. The Dashboard now calculates and displays an estimate of time saved by using WPfaker, based on your generation history.
Realistic demo CPTs. The showcase custom post types have been replaced with 3 realistic demo CPTs per supported field plugin, giving new users a better starting point for exploring the plugin's capabilities.
Field key visibility. Custom field cards in the template editor now display the field key or ID below the label in a monospace font, making it easier to identify fields when debugging or writing custom code.
Playwright E2E screenshot tests. Automated screenshot tests for documentation have been added using Playwright, covering the dashboard, editor, settings, and danger zone views.
Addon system. WPfaker now supports addons — WordPress plugins that extend WPfaker with custom field adapters, AI providers, and generation hooks. Ten extension hooks (7 actions, 3 filters) allow addons to register custom adapters via
AdapterFactory::register(), add AI providers viaAiProviderFactory::register(), filter post data before insertion, modify generated field values, and react to generation events. A REST endpoint at/wpfaker/v1/addonsreports registered addons and their status. See the Addon Development Guide for details.Child generate behavior setting. A new setting controls what happens when you generate posts for a template that has linked child templates. Three options: generate only the selected template, generate the selected template plus its children, or show a choice popup each time.
Variant field indicators. Template cards now show three-state visual indicators (green/yellow/red) for field configuration status, making it easy to spot which templates need attention at a glance.
Context-aware scoring for field detection. The smart field detection system now uses hierarchical context — field group names, parent field names, and post type context — to improve detection accuracy. A "mileage" field inside a "vehicle" field group scores higher for automotive data than the same field in an unrelated context.
CI pipeline. GitHub Actions CI with three jobs: PHP tests (Pest on PHP 8.4), PHPStan static analysis (level 5 with baseline), and JavaScript unit tests (Vitest). Runs on every push and pull request.
Changed
Tailwind CSS v4 migration. The entire admin UI has been migrated from the previous CSS approach to Tailwind CSS v4, with a custom dark theme using design tokens for primary (cyan) and accent (magenta) colors. All UI components have been rebuilt as a custom component library.
Dashboard redesign. The Dashboard stats and time saved sections have been completely redesigned for better readability and visual hierarchy. The Dashboard is now the first tab shown when opening WPfaker.
Template editor redesign. The template editor has been rebuilt from a three-column layout into a focused single-column design with five tabs. Field configuration uses expandable cards with inline settings. The select field configuration has been enhanced with an options preview and checkbox selector.
Generate tab UI improvements. The Generate tab has received visual improvements for better clarity, including better notice alignment and heading visibility.
Locale is now template-controlled. The locale setting is included in the
templateControlledarray, meaning templates can now override the locale. Previously, locale was always read from the global setting or localStorage, causing templates to generate content in the wrong language.Generate page settings priority. Settings configured directly on the Generate page now take highest priority over template defaults and remembered settings. This makes one-off overrides predictable.
Star icon for default template toggle. The "Unset Default" button has been replaced with a more intuitive star icon toggle in the template list.
Fixed
Cross-CPT relational field population. Relational fields pointing to other post types now correctly fall back to a database lookup when the cross-CPT pool is empty. Previously, auto-created child posts could end up linked to posts of the wrong type or with empty relationship fields.
Excerpt text generation. Excerpts no longer contain classic literature passages (Alice in Wonderland). WPfaker now uses standard generated sentences for excerpt text, producing neutral placeholder content that does not stand out as fake.
Featured image defaults for auto-created posts. Auto-created related posts now receive featured images by default, matching the behavior of top-level generated posts. Previously, child CPT posts created by the Dependency Resolver had no featured images unless explicitly configured via per-CPT options.
Title template bare tokens.
FAKER_YEARandFAKER_CITYtokens in title templates now work without curly braces. Previously, only the{year}and{city}placeholder syntax was recognized — bare tokens likeExpedition FAKER_YEARwere left unresolved in the final title.Locale propagation overhaul. A comprehensive set of fixes ensures the selected locale is consistently applied across all generation paths. Previously, template-based generation, taxonomy terms, author names, date fields, and text fields could all silently fall back to English. Locale now propagates correctly through every code path, including smart context-aware generation for dates, numbers, vehicle fields, and taxonomy terms.
Author rotation even with variation disabled. When content variation was disabled, all posts were assigned the same author. Authors are now rotated regardless of the variation setting, and the author pool is locale-aware, reusing only authors whose names match the current locale.
Natural variation when variation is disabled. Even with the variation system turned off, generated posts now have natural differences in taxonomy terms, dates, and content length instead of producing identical clones.
Taxonomy cleanup. Term cleanup now thoroughly deletes ALL terms from CPT taxonomies, not just those tracked in the history table. The
ensureTaxonomiesfunction now correctly runs whenauto_taxonomiesis true, and generated terms are properly tracked for later cleanup.Author cleanup. Meta-tracked authors are now properly deleted during cleanup operations, fixing a leak where generated authors would accumulate over time.
License persistence. Fixed an issue where the license activation cache was missing the
validfield, causing license status to be lost on page reload. License API calls are now correctly routed through the Go API with proper HMAC format.Pool-based term generation. Terms are now generated from a pool to avoid duplicates, and the admin user is excluded from the author pool to keep generated data separate from real content. The Media CPT is hidden from the post type list.
Locale selection persistence. The locale dropdown selection now persists across page navigation, fixing an issue where switching tabs would reset the locale.
ACFE field delegation. ACFE field generation is now properly delegated to the AcfeAdapter in
handleCreateMode(), fixing issues where ACFE fields were being processed by the generic handler and producing incorrect values. ACFE field attribute transfer and value formats have been improved.Relationship field minimum count. When a CPT has relationship fields, WPfaker now enforces a minimum of 2 posts to ensure relationship fields have something to reference. An infinite loop in the useEffect for relationship field detection has been fixed.
Template application fixes. Fixed multiple issues with template application including image provider settings, custom content mode, and locale not being passed through correctly.
AI connection test error messages. The AI connection test now shows the actual API error message instead of a generic failure notice, making it much easier to diagnose configuration issues.
Unsplash REST route validation. Added
unsplashto the allowedimage_providerenum in the REST route definition, which was blocking Unsplash from being used even though the backend supported it.Image category auto-detection bypass. Fixed a bug where an empty
image_categorystring bypassed the auto-detection logic, resulting in random unrelated images instead of context-appropriate ones.Select field white screen. Added null-checks to SelectFieldConfig to prevent a white screen crash when field options were undefined.
Image size validation. Prevented minimum width from being set greater than maximum width in image size settings.
v0.1.2 — 2026-01-19
A quick follow-up release that improved the release packaging process.
Changed
- Simplified plugin detection UI. The supported plugins detection display has been streamlined for clarity, and build assets are now correctly included in the release ZIP file, fixing an issue where the first two releases shipped without compiled frontend assets.
v0.1.1 — 2026-01-19
A patch release to fix the automatic updater.
Fixed
- Release asset pattern in updater. Corrected the release asset filename pattern that the automatic updater looks for when checking new releases, ensuring the plugin can properly self-update.
v0.1.0 — 2026-01-19
The first official release of WPfaker, establishing the foundation with a complete rewrite featuring a React admin UI, a template system, multiple field plugin adapters, and an automated release pipeline. This version consolidates months of development into the first publicly distributed build.
Added
React admin UI. The entire admin interface was rebuilt from scratch using React with WordPress's
@wordpress/scriptsbuild toolchain. The UI features a sidebar navigation layout with grouped sections (Generate, Manage, Configure) and a fully custom dark-themed component library.Template system. Save and reuse generation configurations with a tabbed template editor. Templates support None/Choose/Create modes for all fields, core field configuration (title, content, excerpt, date, status, author), custom field configuration with type-specific options, and taxonomy configuration with term selection. Default templates can be assigned per post type.
Extended field configuration. Both backend and frontend support for granular field-level configuration, including text and number field options, select field configuration with options preview and checkbox selectors, color picker generation (Material Design, Tailwind, Web-safe palettes), oEmbed/video embed generation (YouTube, Vimeo, custom URLs), and file/PDF generation with automatic media library upload.
ACF Pro support. Full support for Advanced Custom Fields Pro including repeaters, flexible content, group fields, and all standard field types.
Smart field name detection. An intelligent pattern-matching system that analyzes field names to determine appropriate data types. Over 500 patterns are recognized, from common names like "email" and "phone" to domain-specific names like "iban" and "sku".
Google Gemini AI integration. Optional AI-powered field detection that uses Google Gemini to analyze field names and determine the best faker configuration. This serves as a second tier when pattern matching is inconclusive.
Fake file generation service. Generate PDF documents with Lorem Ipsum content that are automatically uploaded to the WordPress media library, supporting file and document field types.
Content variation system. Create realistic test data with varied content patterns using four profiles: Random, Minimal, Partial, and Complete. Variation affects which optional fields are filled, content length, and taxonomy assignments.
Internationalization. Full German translation of the admin UI, with a language selector in Settings allowing users to choose English, German, or WordPress default. JavaScript translations are auto-generated from PO files.
Image providers. Support for Picsum and Placeholder image providers with configurable aspect ratios. An image download button was added to the media library selection interface. Deprecated image APIs (LoremFlickr) were replaced with reliable alternatives.
Dashboard. A dashboard view with Quick Actions, Stats Grid, and a Time Saved calculator, plus an overview of supported plugins detected on the current installation.
Help tooltip system. Context-sensitive help tooltips with documentation links throughout the admin interface, with full German translations. Links point to docs.wpfaker.com.
Media cleanup features. When deleting generated content, you can now optionally delete associated media files, taxonomy terms, and authors. Three checkboxes in the Delete modal control this, with global defaults configurable in Settings. Media deletion warnings are shown in History delete dialogs.
History tracking. Full tracking of all generated content with bulk cleanup options, including auto-cleanup of old entries.
Template management. Templates can be exported and imported as JSON files for sharing between installations. The template editor auto-selects default templates with priority over remembered settings.
Remember Settings. Generation options are auto-saved to localStorage and persist across browser sessions, including all generation options and Danger Zone settings.
Required field handling. Required fields are automatically detected and always populated even when the field mode is set to "None". A red asterisk indicates required fields, and the Reset All button skips them.
Native WordPress Meta support. Fields registered via
register_post_meta()are detected and populated alongside fields from ACF and other plugins.License system. License activation with HMAC authentication, site fingerprint tracking, IP address logging, and persistent caching that survives API failures.
Automatic updates. The plugin checks for new versions and supports one-click updates from the WordPress admin, replacing an earlier custom update server approach.
Automated release workflow. Pushing to the
productionbranch automatically triggers a build pipeline that creates a ZIP file and publishes a new release.
Changed
Complete plugin restructure. The codebase was reorganized into a proper MVC architecture with Controllers, Services, Generators, and Adapters following WordPress coding standards. The Adapter Pattern is used for field plugin integrations, and a Factory Pattern handles adapter instantiation.
Improved taxonomy generation. Hierarchical term generation with proper parent-child relationships, taxonomy assignment in the template system, and pool-based term generation to avoid duplicates.
Improved user generation. User generation with realistic profiles, role management, and locale-aware name generation.
Pre-release Development History
The following versions were internal development milestones before the v0.1.0 release. They were never distributed but document the evolution of the plugin.
v0.0.9 — Internal (January 2026)
- Dashboard with Quick Actions, Stats Grid, and Time Saved calculator.
- Supported Plugins overview on the Dashboard.
- Field detection cache endpoints for clearing detection results per post type or globally.
v0.0.8 — Internal (January 2026)
- Pexels image provider integration (requires API key).
- Pixabay image provider integration (requires API key).
- Unsplash image provider via WPfaker API proxy (no key required for end users).
- Automatic image category detection based on post type name.
- Configurable aspect ratios for downloaded images.
v0.0.7 — Internal (January 2026)
- Template export and import via JSON files.
- Media management endpoints for uploading from URL and local path.
- 3-pass relational field generation system ensuring relationship fields are populated after all referenced posts exist.
- Content variation improvements for better diversity in generated data.
v0.0.5 — Internal (January 2026)
- Template system with three-column editor layout, None/Choose/Create modes, core and custom field configuration, taxonomy configuration, and default template per post type.
- oEmbed field generation with YouTube, Vimeo, and custom URL support.
- Remember Settings with localStorage persistence across sessions.
- Required field handling with auto-detection, visual indicators, and smart reset behavior.
- Color picker generation with Material Design, Tailwind, and Web-safe palettes.
- File field generation with PDF creation and media library upload.
- Native WordPress meta support for fields registered via
register_post_meta().
v0.0.4 — Internal (January 2026)
- Admin UI language selector (English, German, WordPress default).
- AI-powered field detection via Google Gemini integration.
- Content variation system with Random, Minimal, Partial, and Complete profiles.
- Descriptive titles showing post characteristics in generated content.
- Full German translation of the admin interface.
v0.0.3 — Internal (January 2026)
- Image providers: Unsplash, Picsum, LoremFlickr, and Placeholder.
- Custom field detection with automatic type inference from field names.
- ACF Pro support including repeaters and flexible content.
- History tracking with cleanup options.
- Bulk generation and deletion operations.
v0.0.2 — Internal (January 2026)
- Taxonomy generation for any registered taxonomy.
- Hierarchical term structures with parent-child relationships.
- User generation with realistic profiles and role management.
- Language support for 11 locales.
- Restructured codebase with MVC architecture and comprehensive REST API.
v0.0.1 — Internal (2024)
- Initial prototype with basic post generation.
- Featured image support.
- ACF custom field population.
- WordPress admin interface.
- REST API endpoints.
Versioning
WPfaker follows Semantic Versioning:
- MAJOR: Breaking changes
- MINOR: New features (backwards compatible)
- PATCH: Bug fixes (backwards compatible)
Reporting Issues
Found a bug or have a feature request?
- Contact Support
- Include WPfaker version, WordPress version, and PHP version
- Provide steps to reproduce the issue