Domain For Sale is a WordPress plugin that lets you create professional
domain for sale landing pages and sell unused domains directly from your website. Accept offers and inquiries, manage negotiations, and handle domain sales entirely from your WordPress dashboard—without relying on third-party marketplaces.
With this plugin, you can showcase domains using customizable landing page templates and built-in offer forms. Every domain renders either the shared single page or its own template design, whichever you pick for it. Buyers can submit offers or inquiries directly, while you manage all submissions from a centralized
offer management dashboard inside WordPress. Perfect for domain investors who want full control over offers, negotiations, and buyer communication in one place.
Built-in
domain mapping lets you point a real domain you own directly at one of your listings — visitors who type that domain see your listing with no redirect, the domain staying in their address bar the whole time. No separate WordPress install needed for every domain in your portfolio.
A visual
form builder lets you decide what buyers are asked: reorder and pair fields, hide the ones you do not need, choose which are required, and reword every label, button and validation message — no code, and nothing a buyer types goes unchecked on the server.
Each offer includes detailed buyer information such as contact details, proposed amount, message, and submission context, helping you evaluate leads with confidence. Automatic email notifications keep both admins and buyers informed at every stage, with customizable templates for a professional sales experience.
Use the plugin as a full domain sale theme replacement or embed listings anywhere using shortcodes. It works with any WordPress theme and supports Gutenberg, Elementor, and popular page builders. Fully responsive layouts ensure your sale pages look great on all devices.
Designed for domain investors, agencies, and website owners, this tool offers a simple interface for beginners and flexible customization options for advanced users. Regular updates, multisite support, and clear documentation make it easy to manage multiple listings at scale.
Turn your unused domains into opportunities with
Domain For Sale — a flexible WordPress plugin to sell domains with landing pages, offers, and inquiries.
👁️Plugin Demo | 🚀Pro Version | 📖Documentation | 👩🏼💻Support | 🌟Rate this plugin
AUTOMATIC INSTALLATION (EASIEST WAY)
- Visit Plugins > Add New.
- Search for Domain For Sale.
- Install and activate the plugin.
MANUAL INSTALLATION
Uploading in WordPress Dashboard
- Download domain-for-sale.zip
- Navigate to the ‘Add New’ in the plugins dashboard
- Navigate to the ‘Upload’ area
- Select domain-for-sale.zip from your computer
- Click ‘Install Now’
- Activate the plugin in the Plugin dashboard
Using FTP
- Download domain-for-sale.zip
- Extract the domain-for-sale folder to your computer
- Upload the domain-for-sale folder to the /wp-content/plugins/ directory
- Activate the plugin in the Plugin dashboard
After activation
3.8.0 - 11 September 2026
- New: Form Builder, under Settings → Sales Forms → Form Builder → Form fields. Build the Fixed price and Make an offer forms visually: drag fields to reorder them or pair them side by side, hide the ones you do not need, choose which a buyer must fill in, and reword every label, placeholder, help line and button. Name, Phone and Proposal can each be hidden or made optional; Email and the amount always stay, because confirmation mail and the minimum-offer check depend on them. Your existing labels, field order and button wording carry over as they are, and nothing on the site changes until you save.
- New: Fixed-price domains have a form layout of their own, separate from Make an offer. Its Offer field appears only on domains that also accept offers below the asking price, and its button takes over from the old "Send proposal button label" setting.
- New: The browser's own validation messages ("Please enter a valid email address.") now use your wording. Set it once under Messages & Errors → Required Field Error and Invalid Field Error, or give any field its own error message in the builder; the same text is shown whether the browser or the server catches the mistake.
- New: Insert tag, on every email setting under Notifications and on the messages that take tags. A small button opens a searchable list of the tags that field accepts, each named in plain words, or type
{ in the field to pick one as you write. The old "Available tags" lines are gone.
- New:
{all_fields} lists every answer the buyer gave, one "Label: value" per line, and {field:key} inserts a single one. When a field is hidden, a line such as "Phone: {phone}" is removed from your emails automatically instead of arriving empty.
- Changed: The phone field accepts international numbers — a leading +, spaces, brackets and dashes — and no longer shows number spinner arrows. It was a number input, which rejected "+44 20 7946 0958" outright.
- Changed: The Make an offer button reads "Send offer" by default rather than "Send proposal" — the buyer is naming a price, and with the Proposal field hidden there is no proposal to send. The Fixed price form keeps "Send proposal". A site that has set its own button wording keeps it.
- Changed: The name field accepts accented letters and apostrophes. "José" and "O'Neil" were rejected by a pattern that allowed only unaccented letters and digits.
- Changed: Required fields are now checked on the server as well as in the browser, and an offer only records the fields its form actually asks for. Previously any extra value posted to the form was stored and mailed along with the offer.
- Changed: The Field labels group, the Make an offer Button Label and the Fixed price "Send proposal button label" settings are replaced by the builder, which carries their saved wording.
- Fixed: Help text under a field was white on the light form card in the shortcode layouts, and so unreadable.
- Fixed: Uneven spacing between fields — a field paired beside another left a gap under its row that a field on its own did not.
3.7.0 - 04 September 2026
- New: Domain Mapping, under Settings → Domain Mapping. Point any domain you own directly at a Domain listing or Template — visitors who type that domain in see the listing with no redirect, the domain staying in their address bar the whole time, and no separate WordPress install to run for it. The domain's own DNS still has to point at this server, and your hosting account still has to be told the domain shares this site's files; the field itself documents both. Add, edit and remove mappings from one screen, with a search picker to find what to map and an on-demand check for whether a mapped hostname is currently reachable. Canonical URLs and Yoast/Rank Math's own canonical output are set to the mapped domain automatically, so search engines are told the mapped address is the real one rather than treating it as duplicate content.
- Fixed: The offer/proposal form's Name, Email, Phone and Proposal fields could render with no visible background or border under some themes, Blocksy among them — the fields blended invisibly into the card behind them. Their styling depended on CSS custom properties that a theme's own form reset could stop from resolving, and a custom property failing to resolve drops the whole declaration it appears in rather than falling back to anything. The fields now carry fallback values of their own and are protected against a theme's global form styling overriding them.
- Fixed: The offer form could not be submitted from a mapped domain — it failed with an empty "Error" dialog. The form posted to admin-ajax.php on the site's own configured domain, which from a mapped domain is a different origin, so the browser blocked the response before the page ever saw it. It now posts to the host the visitor is actually on, which the same WordPress install already answers, and mapped hostnames are additionally registered as allowed origins so a host that refuses to serve /wp-admin/ on anything but the primary domain still works.
- Changed: An offer no longer records the buyer's approximate location. It came from a third-party IP lookup (ipwhois.app) called on every page view, which had begun returning 403 on its free tier and logged an error in the browser console. Offers still record the buyer's IP address, device, browser, platform, screen, language, page and referrer, and offers taken before this update keep the location they were saved with.
3.6.1 - 01 September 2026
- Fixed: Pages could not be edited with Elementor while the plugin was active — the editor stopped on "Sorry, the content area was not found in your page." A template set to replace the theme took over every front-end request, including the one Elementor loads to find the content area it attaches to, so the editor never saw a page to edit. The takeover now stands down inside a page builder's editor and its editing preview — Elementor, Beaver Builder, Divi, WPBakery, Oxygen, Bricks, Brizy, Thrive Architect, Breakdance, Zion Builder and SiteOrigin — while the public front end renders exactly as before.
- Fixed: A listing had nowhere to copy its shortcode from. It was suppressed on the grounds that the Publishing card carried it instead, which only ever held true for templates. Every record that has a shortcode now shows it in one place.
- Fixed: The Offers filter bar left the right half of a wide card empty — three fixed-width selects huddled on one line with the date range and search dropped to the next. The filters now share the row evenly and reflow to fewer per line, then to one, as the screen narrows.
- Fixed: The editor's loading skeleton drew a screen the editor stopped having several releases ago — a 220px nav rail down the left and a single card. It now draws the sidebar the editor actually paints.
- Changed: The editor's sidebar is one card. Everything it used to spread over three or four panels — the preview controls, status, where the record is placed and the shortcode that places it, and a domain's landing page, logo and categories — reads top to bottom in Publishing, above the Move to Trash / Reset / Update row. Each panel had been a card header restating the label of the single control beneath it.
- Changed: That card stays pinned as the form scrolls past it, so Preview and Update are reachable from anywhere in a long form. On a window too short to hold it, the rows inside it scroll while the actions stay on its bottom edge, rather than the card being cut off at the fold.
- Changed: The preview toggle is no longer a button floating over the bottom-right corner of the screen, where it covered whatever sat beneath it and stood two cards away from "Open preview in new tab". Both preview controls sit together at the top of the Publishing card.
- Changed: The placeholder reference — {domain}, {price} and the rest — moves from a sidebar panel into a "Dynamic placeholders" button that opens the full list on click. It is a lookup read once while writing the copy, and as a panel it was the longest thing in the sidebar, pushing everything actually edited further down the page.
- Changed: The Pro features card no longer shows in the Template and Listing editors, whose Publishing card is pinned — a second card under a pinned one leaves the upsell on screen while the record being edited scrolls away. It stays in the Domain editor, whose sidebar scrolls with the form and is not pinned for that reason.
- Changed: The "Upgrade to Pro!" menu item opens in a new tab. It is the one item in that menu that leaves the site, and following it in place cost the admin whatever screen they were on, an unsaved editor included.
3.6.0 - 24 August 2026
- Fixed: A domain whose landing page was designed by a template rendered without that design — no sale title, no offer tag, no contact block. A template and the domain it draws share a slug, the domain wins that URL, and a domain's own record carries none of the copy the template holds. The domain's page now renders the template built for it. Sites left with blank-looking landing pages after the domain/template split are the ones this fixes.
- Fixed: The template editor's preview pane showed the domain's page instead of the template being edited, for the same reason — the preview URL is the one the domain owns. The pane now pins the template it is previewing.
- Fixed: Layout 01 opened on Make an Offer rather than Purchase Now on any site that had never opened Settings → Payments, contradicting "Make as Toggle Form", which is on by default.
- Fixed: Templates rendered in the Elementor editor fell back to the browser's serif instead of the font they were set to. The widget renders after the page has printed its font stylesheet, so the fonts were never requested; the editor preview now loads them, and every font setting carries a sans-serif fallback for when a web font cannot load.
- Fixed: Importing a CSV that matched a draft domain or listing inserted a second copy beside it on every run, because the "does this already exist?" lookup only searched publicly readable posts.
- New: Landing page, per domain — the standard single page, or the design of the template that selects it. It sits under the domain name, in its own sidebar card.
- New: Default landing page, under Settings → Single Page, deciding for domains that have not chosen one. Existing domains keep the page they already render.
- New: A Domain Listing block for the block editor. Pick a listing in the sidebar and it renders in place — cards, search, sort and pagination — and the preview behaves exactly as the published page does, so a listing can be arranged without leaving the editor.
- Changed: The listing tagline is a single-line field, being a single-line value; the asking and reduced prices share one row with the currency named once on its heading; and the tagline and description now say where they are read, since the Landing page choice governs neither.
- Security: Exported CSVs neutralize values a spreadsheet would run as a formula. Offer proposals and domain names are typed on a public form, so an export opened in Excel, LibreOffice or Sheets was a path from a stranger's keyboard into the seller's machine. Applies to the offers export and to every domain/listing export.
- Security: The "resend verification" and "send congratulations" admin actions now require a request token as well as the capability, so a page an administrator merely visits can no longer make their browser send those emails.
- Security: The Escrow API key is no longer printed into the admin page. Only whether one is configured is sent to the browser, which is all the screen ever asked.
- Security: Added the missing direct-access guard to fourteen PHP files, so requesting one by URL exits instead of executing.
- Improved: Uninstall honours "Clean-up Data on Deletion" as before, but now clears everything the plugin created — including posts left behind by earlier releases, per-user screen preferences, scheduled events, and every site on a multisite network. It no longer loads the plugin to do it, so an error elsewhere cannot leave the cleanup half-finished. Options belonging to the Pro plugin are deliberately left alone.
- New: Settings → Single Page → Assign Template decides which design draws your domains, as a rule rather than a setting written onto each one. Point every domain at one design and changing that rule changes every page it covers; changing it back restores them. Replaces the site-wide default landing page and the "apply to all domains" sweep. Rules that segment a catalogue — by category, or by domains named one by one — and lists of rules read top-down are available in the Pro version.
- New: {length} and {extension} placeholders, so a description can say "a 7-character .com" and stay true as the catalogue changes. Bare-number forms — {lengthChars} — are there for copy that supplies its own wording, and a domain with no name yet resolves them to nothing rather than to a guess. {age}, which reads the registration date from the domain registry, is available in the Pro version.
- New: Bulk editing on the Domains screen — select any number of domains, pick a field, set one value, apply. Available in the Pro version.
- Changed: A domain's Landing page now offers Automatic as well as Standard and Template. Automatic is the default and hands the question to the assignment rules; the other two answer for that domain alone and outrank every rule. There was previously no way back: picking either side once excluded a domain from every rule thereafter.
- Changed: A template no longer has to name a domain. It is a design, and one design can draw a whole portfolio with each page still showing its own name, price and status. The Domain field stays as the preview subject and as the live source wherever a template is placed by shortcode, by replacing the theme, or on specific pages.
- Changed: Where a design is placed — shortcode, theme replacement, specific pages — moves into a Placement card in the template editor's sidebar, with the shortcode itself at the foot of that card rather than three rows away under Publishing.
- Fixed: Opening a domain and saving it silently re-pointed its page. The editor pre-filled the Landing page field with whatever the domain currently resolved to and wrote that back on save, turning an unstated answer into a stated one — which, once assignment rules existed, opted the domain out of them for good. The field now keeps whatever is stored, blank included, and says in words what draws the page and where that came from.
- Fixed: A segmented control lit its first segment before anything was chosen, so a control that appeared to be set to "Automatic" saved no such thing. Nothing is lit until a choice is made, and an unanswered control now draws as buttons rather than as flat words.
- Fixed: A dialog taller than the window could not be scrolled — its head and foot stayed off-screen with no way to reach them.
- Fixed: A dropdown opened inside a dialog ignored the mouse wheel; its list could only be moved by dragging the scrollbar.
- Fixed: A select with nothing chosen rendered as an empty box, saying neither what it was for nor that it was unset.
- Fixed: Font size and line height inputs clipped their own digits behind the "px" badge on a narrow column — "40" reading as "4" — and the background position selects overlapped their neighbours.
- Improved: On upgrade, each domain's current design is written down explicitly before anything changes, so every page renders exactly as it did. Domains carrying their own design are counted on the Assign Template screen, with one action to hand them back to the rules. Domains that had been stamped with "standard page" without anyone choosing it are unstamped, so the rules can reach them.
- Improved: Design pickers are searchable, which on a portfolio of hundreds of near-identical names is the difference between typing and hunting.
3.5.2 - 24 July 2026
- Security: Fixed a broken access control issue where the Offers and Dashboard REST endpoints could be read or deleted without authentication because the permission check returned the required capability name instead of verifying it.
- Security: The "resend verification" and "send congratulations" admin actions now require the dashboard capability instead of being reachable while logged out.
- Security: Hardened unserialize() calls storing offer data against PHP object-injection.
- Security: Added missing sanitization/unslashing on request data across the admin and frontend, and moved raw SQL table-name interpolation onto prepared statements where supported.
- Improved: Replaced direct filesystem calls in CSV import/export with the WordPress Filesystem API, and standardized on wp_json_encode() throughout.
- Credit: Thanks to Labda for responsibly disclosing the broken access control issue in the Offers and Dashboard REST endpoints.
3.5.1 - 08 July 2026
- Fixed: The Domains, Offers, and Analytics screens showing no data when the permalink structure is set to "Plain" — a malformed REST request URL was silently failing.
3.5.0 - 30 June 2026
- New: Completely redesigned admin area, rebuilt as a modern React single-page application.
- New: Migrated the entire admin away from the legacy Codestar options framework to a native React + REST API architecture, removing ~35,000 lines of legacy framework code for a lighter, faster plugin.
- New: React-based Settings, Offers, Transactions, Import/Export, Help, and License pages, all powered by a unified REST API and shared schema registry.
- New: Reworked Post List and Post Editor screens with bulk actions, one-click shortcode copy, and an integrated rich text editor.
- New: shadcn/ui component system across the admin (calendar, popover, hover card, dialogs, dropdowns, toast notifications, and more) for a consistent, accessible UI.
- New: Frontend single Domain Listing template for displaying listings on their own page.
- Improved: Admin navigation now intercepts WordPress menu clicks and routes through the React SPA, eliminating page reloads and menu flickering.
- Improved: Replaced Toastify with shadcn/ui Toast for consistent in-app notifications.
- Improved: Added internationalization (i18n) support throughout the React admin.
- Fixed: Hash-based route navigation for Offers, Transactions, Settings, and Help pages.
3.4.5 - 23 May 2026
- Fixed: PHP notice triggered on fresh plugin activation —
map_meta_cap called on unregistered dfs_template post type during wp_insert_post.
- Updated:
Tested up to set to WordPress 6.9.
- Updated:
Requires PHP bumped to 8.0.
3.4.4 - 20 May 2026
- Updated: Admin preview now displays correctly on responsive devices.
- Fixed: Minor CSS issues in the admin panel.
3.4.3 - 19 May 2026
- Fixed: An issue where domain titles were being automatically normalized to lowercase
- Tested: WordPress 7.0
3.4.2 - 13 May 2026
- Fixed: The Dashboard link now navigates via hash routing, consistent with all other React sub-pages.
- Cleanup: Removed unused file to reduce plugin size.
3.4.1 - 7 May 2026
- Fixed: Critical bug in 3.3.0 migration that blanked domain_name when old key was absent — loop now skips keys that don't exist.
- Fixed: Recovery script restores domain_name from post_title for any template where domain_name was wiped by the 3.3.0 migration.
3.4.0 - 7 May 2026
- Added: React-based Dashboard page for the free version with live stat cards (Total Domains, Total Offers, Total Impressions, Domain Listings).
- Added: REST endpoint GET /domain-for-sale/v1/dashboard returning live plugin stats.
- Added: Pro upgrade preview section on the Dashboard with blurred analytics screenshot and upgrade CTA.
- Added: Domain view/impression tracking — creates wp_dfs_domain_views table and records views for shortcode, replace_theme, and singular dfs_template modes automatically.
- Fixed: Help page slug conflict — renamed internal slug from domain-for-sale to dfs-help so Dashboard and Get Help pages no longer collide.
- Improved: Admin submenu order — Dashboard, All Domains, Add New Domain, Domain Listing, Offers, Settings, Tools, Recommended, Lite vs Pro, Get Help.
3.3.2 - 30 April 2026
- Update: Refactored domain meta keys for improved consistency.
- Cleanup: Removed unnecessary files to reduce plugin size.
3.3.1 - 29 April 2026
- Update: Domain name meta key.
3.3.0 - 28 April 2026
- Added: Full CSV, XML, and JSON import/export support for Domains.
- Added: Full CSV, XML, and JSON import/export support for Listings.
- Improved: Enhanced conflict detection for more accurate import behavior.
- Updated: Settings backup import/export option moved under the Tools tab.
3.2.3 - 11 April 2026
- Fixed: Issue where textarea input containing emojis was not being saved in the database.
3.2.2 - 09 April 2026
- Added: Option to show or hide content under the listing domain.
- Added: Content length setting under the listing domain.
- Fixed: Domain extension filter issue.
3.2.1 – 14 March, 2026
- Fixed: Issue causing duplicate domain offers.
- Added: Conditional logic to hide the price tag when the sale price or starting price is not set.
3.2.0 - 11 March 2026
- Added: Domain Listing feature to showcase multiple domains.
- Added: Option to upload and display a Domain Logo.
- Added: Option to show or hide the Header and Footer on single domain pages.
- Added: Custom URL slug field for individual domain pages.
- Update: Reorganized domain settings into a new Domain Panel for improved usability.
- Update: Moved Currency setting to the General tab.
3.1.12 - 20 January 2026
3.1.11 - 01 January 2026
- Added: Duplicate option for the Domain For Sale shortcode.
- Fixed: Removed externally hosted WebFont Loader script and replaced it with a self-hosted version to comply with Plugin Check requirements.
- Improved: Ensured all enqueued scripts are locally hosted for better privacy, reliability, and WordPress.org compatibility.
- Security: Ensured all data is properly sanitized, validated, and escaped.
3.1.10 - 21 December 2025
- Fixed: Minor coding issues.
3.1.9 - 08 December 2025
- Tested: WordPress 6.9 compatibility.
- Fixed: Export/import issues.
- Added: RTL (Right-to-Left) CSS support.
3.1.8 - 26 November 2025
- Fixed: PHP notice where
map_meta_cap() was called before the dfs_template post type was registered.
- Updated: Admin panel UI for a more intuitive user experience.
3.1.7 - 24 November 2025
- Added: Tools export/import option.
- Fixed: Confirmation email delivery issue.
- Security: Improved data handling by ensuring all content is properly escaped.
3.1.6 - 13 November 2025
- Improved: Optimized database footprint.
3.1.5 - 12 November 2025
- Fixed: Critical Broken Access Control vulnerability in the REST API.
- Security: Ensured all data is properly sanitized, validated, and escaped.
3.1.4 - 31 October 2025
- Fixed: Missing
composer.json file when using Composer.
- Fixed: Removed remote file calls and bundled required assets locally.
- Fixed: Internationalization issues (removed variables from text domain and context).
- Fixed: Updated text domain to match plugin slug.
- Updated: Replaced outdated SweetAlert script with a compliant version.
- Updated: Code improvements for compliance with the latest WordPress Plugin Review Guidelines.
- Security: Ensured all data is properly sanitized, validated, and escaped.
- Security: Escaped all variables and options before output.
- Added: Documentation for all external services used.
3.1.3 - 30 October 2025
- Added: New currency options: Pounds Sterling (GBP) and Canadian Dollars (CAD).
- Updated: Enhanced admin dashboard UI for managing offers and sales.
- Fixed: Offer currency symbol stored and retrieved incorrectly from the database.
- Fixed: Minor styling inconsistencies in the offer management table.
- Fixed: Tooltip alignment issues in the settings panel.
- Fixed: PHP warning caused by empty bidder email fields.
3.1.2 - 20 September 2025
- Added: Typography settings for the form title.
- Fixed: reCAPTCHA token being stored with form submissions.
- Fixed: Google Fonts loading issue.
- Fixed: Minor CSS issues in the admin panel.
3.1.1 - 13 September 2025
- Updated: Improved default option values for better usability.
- Fixed: Minor CSS issues in the admin panel.
3.1.0 - 10 September 2025
- Added: Price and Sale Price options in the domain layout.
- Added:
{price} and {{price}} variables for use inside the Price Tag.
- Added: Offer Management to view, filter, and manage offers from the dashboard.
- Added: Currency settings in the options panel.
- Added: Phone Number field.
- Added: New email variables:
{phone}, {domain}, {offer}, {adminEmail}.
- Added: Bidder confirmation emails on offer submission.
- Added: Demo and Docs links within fields for quick guidance.
- Added: Help and Video Tutorials tabs.
- Updated: Admin panel UI for improved usability.
3.0.13 - 31 July 2025
- Improved: Enforced a single “Replace Current Theme” template to prevent conflicts.
- Added: Apply with admin column option.
- Fixed: Form submission issues.
- Fixed: reCAPTCHA verification issues.
- Added:
{currentURL}, {siteTitle}, {currentTitle} email variables.
- Added: Clean-up data on deletion option.
- Updated: Admin UI colors for improved readability.
- Added: Domain admin column.
- Updated: Layout post options for better usability.
- Fixed: Default layout not created on plugin activation.
3.0.12 - 04 July 2025
3.0.11 - 04 June 2025
- Fixed: Data escaping issue.
- Fixed: Text domain warning.
3.0.10 - 29 May 2025
- Tested: WordPress 6.8.1 compatibility.
3.0.9 - 20 February 2025
- Added: Form validation.
- Tested: WordPress 6.7.2 compatibility.
3.0.8 - 25 June 2024
- Updated: Gutenberg block name.
3.0.7 - 01 June 2024
- Fixed: Text domain warning.
3.0.6 - 22 December 2024
- Fixed: Form submission issue.
3.0.5 - 15 December 2024
- Tested: WordPress 6.7.1 compatibility.
3.0.4 - 19 November 2024
- Tested: WordPress 6.7 compatibility.
3.0.3 - 29 October 2024
- Added: Gutenberg block support for embedding the shortcode.
3.0.2 - 21 October 2024
- Added: Elementor widget for displaying the Domain For Sale template shortcode.
- Fixed: PHP warning when saving templates.
3.0.1 - 19 October 2024
- Updated: Folder structure.
3.0.0 - 16 October 2024
- Added: DFS Template custom post type.
- Added: Template application options.
- Added: Custom container width setting.
- Added: Column gap customization.
- Added: Enhanced typography fields.
- Updated: Replaced Bootstrap CSS with custom CSS.
- Updated: Transitioned options panel to metabox-based settings.
- Updated: AJAX-based contact form submission.
- Updated: CSS structure overhaul for performance and maintainability.
2.0.5 - 24 September 2024
- Added: All icons from the Icofont library.
- Fixed: Checkmark icon not loading in the admin panel.
- Tested: WordPress 6.6.2 compatibility.
2.0.4 - 14 September 2024
2.0.3 - 11 September 2024
- Fixed: Admin panel icon issue.
- Fixed: PHP 8.1.12 compatibility issue.
- Fixed: WordPress 6.6.1 compatibility issue.
- Added: Help area in the admin panel.
2.0.2 - 10 August 2024
- Added: New icon fonts.
- Fixed: Activation debug errors.
2.0.1 - 09 August 2024
- Fixed: PHP warning on activation.
- Fixed: PHP compatibility issues.
2.0.0 - 08 August 2024
- Updated: Code structure.
- Updated: Compatibility with the latest WordPress version.
- Updated: Compatibility with the latest PHP version.
- Updated: Plugin description.
1.5.2
- Updated: Default background handling to prevent disappearing issues in the Pro version.
- Added: Subtitle fields in the admin panel.
- Added: Pro version feature instructions in option fields.
1.5.1
- Tested: WordPress 6.5.4 compatibility.
- Updated: Removed banner advertising.
- Updated: Added plugin action and settings links.
1.4.17
- Added: Support for third-party contact form shortcodes.
- Added: Help text for selected fields.
- Tested: Compatibility with the latest WordPress and PHP versions.
1.4.16
- Fixed: Subject variable handling in email templates.
- Added: IP address variable for email templates.
1.4.15
- Added: Custom CSS option.
- Added: Custom JavaScript option.
1.4.14
1.4.13
- Fixed: Compatibility issues.
1.4.12
- Updated: Refactored codebase from functional to class-based architecture.
- Tested: WordPress 6.4.1 compatibility.
- Added: Help page for users.
1.4.11
- Updated: Domain For Sale framework class to prevent plugin conflicts.
1.4.10
- Added: Missing translation strings.
- Added: Help page for easier access.
- Added: Redirection option after plugin activation.
- Fixed: PHP warning.
- Tested: WordPress 6.3.2 compatibility.
1.4.9
- Fixed: PHP warning.
- Tested: WordPress 6.3 compatibility.
1.4.8
- Updated: Default placeholder email template text.
- Added: New email tags
{subject}, {siteURL}.
- Improved: Automatically populate domain name and admin email fields.
1.3.8
- Fixed: PHP and WordPress compatibility issues.
1.3.7
- Updated: Plugin content direction.
1.3.6
- Fixed: PHP and WordPress compatibility issues.
1.3.2
- Fixed: Responsive layout issues.
- Added: Turkish language file.
1.1.0
- Updated: Readme for guideline compliance.
1.0.0