Perfect WP Fusion Crack | CRM/Marketing Automation/Membership Integration Plugin

$4.99

Description

Official Demo of Theme/Plugin

WP Fusion is a powerful WordPress plugin designed for users who need to integrate their websites with CRM systems. It supports major CRM platforms such as HubSpot, ActiveCampaign, Infusionsoft, as well as dozens of popular plugins like WooCommerce, LearnDash, and MemberPress.

With the cracked version of WP Fusion, you can achieve advanced features such as automatic synchronization of member data, user tag management, and marketing automation. The plugin uses efficient API connections to ensure real-time and accurate data transfer. Whether it’s an e-commerce site, an online education platform, or a membership site, WP Fusion can enhance operational efficiency.

The cracked version of WP Fusion retains all the features of the original version, including: automatic creation and updating of contacts, behavior-based tag assignments, purchase history synchronization, course progress tracking, and more. It is particularly suitable for small and medium-sized businesses and individual site owners, allowing them to obtain a professional-level CRM integration solution without paying high licensing fees.

The plugin interface is simple and intuitive, making it easy for users without a technical background to get started. We provide long-term uninterrupted update services to ensure compatibility with the latest version of WordPress and various CRM systems. Whether you need simple contact management or complex marketing automation processes, WP Fusion can meet your needs.

By choosing the cracked version of WP Fusion, you will gain: complete CRM integration features, efficient marketing automation tools, a stable data synchronization mechanism, and continuous feature updates. It is an ideal choice for improving website conversion rates and customer management efficiency.

🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹 Version Update Log 🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹🔹

The WP Fusion plugin changelog is as follows:
= 3.45.3 - March 19, 2025 =
* Fixed error `Uncaught TypeError: Argument 2 passed to WPF_Advanced_Ads::check() must be an instance of Advanced_Ads_Ad` with Advanced Ads 2.0
* Fixed ConvertPro integration not saving tag selection in the target settings editor when using numeric tag IDs in CRMs
* Fixed MemberPress subscription cancellation tags not being applied since 3.45.0
* Developer: Paid Memberships Pro integration has been split into three classes for better readability

= 3.45.2.2 - March 12, 2025 =
* Fixed fatal error when loading custom fields from ProfilePress since 3.45.2

= 3.45.2.1 - March 11, 2025 =
* Fixed fatal error when loading custom fields from Checkout Field Editor Pro without configured block-based checkout fields since 3.45.2

= 3.45.2 - March 10, 2025 =
* Added support for custom checkout fields added to block-based WooCommerce checkout using Checkout Field Editor Pro
* Improvement - All custom field sections in the contact field list are now linked to the corresponding documentation pages
* Improvement - Long label names in the radio option label selection dropdown in the block editor now wrap for better readability
* Fixed HighLevel subaccount access token not auto-refreshing
* Fixed inability to switch from HighLevel agency-level authorization to subaccount authorization via the 'Reauthorize with HighLevel' link
* Fixed new backup service account key feature for Keap / Infusionsoft not persisting between API calls
* Fixed fatal error when listing Paid Memberships Pro custom user fields in the contact field list since PMPro v3.1x
* Fixed MemberPress expiration date field being saved as a `text` type field mapping when configuring custom membership plans
* Fixed PHP warning when submitting Gravity Forms forms with unmapped fields
* Fixed lists not being assigned when updating existing subscribers using FluentCRM (REST API)
* Fixed REST API updates to user profiles not syncing to CRM
* Developer: Removed compatibility with FluentForms v4.x and lower

= 3.45.1 - March 3, 2025 =
* Added support for ticketing and RSVP configured as blocks using [Event Tickets](https://wpfusion.com/documentation/events/the-events-calendar-event-tickets/#ticket-blocks)
* Added support for [Infusionsoft/Keap backup service account key](https://wpfusion.com/documentation/installation-guides/how-to-connect-infusionsoft-to-wordpress/#backup-service-account-key). If the main key is restricted, WP Fusion will automatically switch to the backup key until 12 AM UTC
* Added an option to update existing users' tags and metadata when importing users with the import tool
* Improvement - [Memberoni integration](https://wpfusion.com/documentation/learning-management/memberoni/) now removes configured tags when users mark courses or route steps as incomplete or reset course/route progress
* Improvement - Salesforce will now retry API calls if a contact is not found, allowing updates to deleted or merged contacts
* Improvement - Added support for level-specific field mapping for Paid Memberships Pro integration, allowing different CRM fields for data used per membership level
* Fix - Since 3.45.0, when adding payments for Keap/Infusionsoft orders, `invoice_id` will always be saved. Previously, the Job ID was saved, which is usually the same as the Invoice ID, but they are no longer synchronized in some accounts
* Fix for not being able to import all contacts when no tags were specified using the Groundhogg import tool
* Fix for loading custom field values from Keap/Infusionsoft where the value is "0"
* Fix for users imported without tag filters showing as "unknown tag" in the import group log
* Fix for the "WP Fusion - Remove Tags" SureCart integration not filtering results by search term when searching for tags
* Fixed the error since 3.45.0 `WPF_MemberPress_Transactions does not have a method "recurrring_transaction_failed"`
* Fixed PHP warning when the webhook input is empty in Salesforce integration

= 3.45.0.1 - February 26, 2025 =
* Fixed the error since 3.45.0 `WPF_MemberPress_Transactions does not have a method "recurrring_transaction_completed"`
* Fixed the issue of HubSpot timestamp conversion to midnight if future dates are before or after daylight saving time (DST)

= 3.45.0 - February 24, 2025 =
* Added functionality to sync MemberPress subscription and transaction fields to separate CRM fields [per product](https://wpfusion.com/documentation/membership/memberpress/#syncing-fields-on-a-per-product-basis)
* Added support for applying tags based on route and route step completion in Memberoni integration
* Fixed fatal error `undefined function wpf_logo_svg()` when exporting Event Tickets attendees since version 3.44.26
* Removed `@abstract` documentation block comment from `WPF_Background_Process` class as it is not an abstract class, which caused validation errors on some servers
* Fixed Infusionsoft free orders not returning and saving invoice ID
* Developers: To improve code readability, we started refactoring larger plugin integrations into smaller classes, starting with MemberPress. If you manually call MemberPress methods using `wp_fusion()->integrations->memberpress`, you will need to update your code to use the new class (e.g., `wp_fusion()->integrations->memberpress->transactions`)
* Developers: Added `instructions.md` and `./.cursor/rules` files to assist with development using Cursor IDE
* Developers: Added `addOrderNote()` method for Infusionsoft integration to add order notes to orders

= 3.44.27 - February 17, 2025 =
* Added SureCart historical order export tool
* Improvement - When using [Event Tickets Plus](https://wpfusion.com/documentation/events/the-events-calendar-event-tickets/#editing-attendees), if the attendee email address is changed on the front end and “Create new attendee on edit” is enabled, a new contact record will be created in the CRM for the new email address, and any event tags will be applied
* Improved Klaviyo error handling - If invalid fields are passed, it will remove that field from the request body and retry the request once
* Fixed error during temporary user creation while auto-logging in forms when the CRM is set to test environment
* Fixed Gutenberg security block not functioning properly inside column blocks
* Fixed LearnDash course cloning issue where the course would be lost if it was protected by WP Fusion and shared course steps were disabled
* Fixed PHP warning `Undefined property: stdClass::$userId` when authorizing HighLevel account
* Fixed: Removed `consented_at` timestamp from Klaviyo marketing consent API call as it only supports historical imports
* Fixed HighLevel sub-account location token not automatically refreshing when access token expires
* Developer: Added `wpf_infusionsoft_query_args` filter to allow overriding default query parameters for Infusionsoft contact ID queries

= 3.44.26 - February 11, 2025 =
* Added support for creating new CRM contact records when editing Event Tickets attendees in the admin and when changing attendee email addresses
* Added (Beta) support for authorizing HighLevel at the agent level, as well as the ability to switch sub-locations in WP Fusion
* Improvement - Added WP Fusion status column in the Event Tickets attendee list
* Improvement - KlickTipp integration now uses WordPress HTTP API instead of KlickTipp SDK for better logging and error handling
* Improvement - KlickTipp integration will return an error message during setup if the account or account user cannot access the API
* Improved performance of WP Fusion tag selection component in the block editor
* Improvement - If Klaviyo API returns a `duplicate_profile` error when updating WordPress user contacts, the correct contact ID will now be saved to the user's record
* Improvement - If Klaviyo API returns a `not_found` error when updating WordPress user contacts, WP Fusion will attempt to find the contact ID by email address and retry the request
* Fixed database error when adding contacts with empty email addresses in FluentCRM (same site)
* Fixed display as password protected if restricted posts have no redirect and have comments
* Fixed MemberPress transaction fields not syncing when clicking “Reprocess WP Fusion Actions” on the single transaction edit screen
* Fixed fatal error in HubSpot integration when an API error occurs while loading current tags
* Fixed error in HubSpot integration where countries using Daylight Saving Time (DST) were not correctly converted to UTC
* Fixed error when adding new WPForms WP Fusion connection in WPForms Lite since 3.44.25
* Fixed: Moved CRM initialization to `init` priority 1 to run before other `init` actions, such as account activation by Ultimate Member
* Developer: Updated Klaviyo API version to the latest v2025-01-15
* Developer: Added function `wpf_get_name_from_full_name()` to split full name into first and last name

= 3.44.25 - February 3, 2025 =
* Added support for retrying failed API calls in the logs
* Added support for syncing WPForms payment fields
* Added compatibility with the new variable price editor in EDD v3.3.6.1
* Added support for syncing dates and dates with times to Klaviyo
* Fixed Microsoft Dynamics 365 returning "Syntax error" API response when looking up contact ID for users with apostrophes in their email addresses
* Improved - The request URI was not correctly logged in the "A valid URL was not provided." HTTP response due to `esc_url_raw()` escaping it. The request URI is now sanitized using `sanitize_text_field()`
* Improved - WP Fusion no longer updates user's cache tags if they access the auto-login link, as this triggers notifications for non-existent users in LearnDash BuddyBoss group sync functionality
* Improved - When using FluentCRM, if a 404 error occurs while updating contacts or applying tags, WP Fusion will attempt to look up contact ID again by email address and retry the request
* Fixed fatal error when connecting to KlickTipp if the account has no tags
* Developer: Added `./cursor/rules` file for Cursor IDE
* Developer: Gutenberg security block updated to `apiVersion 3.0`
* Developer: REST API integration for FluentCRM, Groundhogg, and FunnelKit now uses `wp_safe_remote_get()` only during the initial connection, rather than for all API calls. This helps avoid occasional failures of some legitimate requests in `wp_http_validate_url()`

= 3.44.24 - January 27, 2025 =
* Added support for [multi-level donation forms](https://wpfusion.com/documentation/ecommerce/give/#donation-level-settings) in the new GiveWP visual form builder
* Added support for applying tags after offline donations in the new GiveWP visual form builder
* Improved - Subscription product names and SKU fields in WooCommerce subscriptions with multiple products will now be sent as a comma-separated string (or optionally, an array)
* Fixed an issue where custom contact fields were not saved if the new field name included an apostrophe in the CRM field selection dropdown
* Fixed an issue where dynamic tag selection in Fluent Forms did not apply multiple tags for multiple matching conditions on the same multi-select field
* Fixed a fatal error in the Groundhogg integration when syncing array formatted data in PHP 8.2
* Fixed a PHP warning when loading custom fields from the SureCart API if the store has no checkout
* Fixed an error in the Give visual form builder integration in PHP 7.4 and below: "Uncaught TypeError: Argument 1 passed to WP_FusionIncludesAdminWPF_Tags_Select_API::format_tags_to_props() must be an instance of WP_FusionIncludesAdminmixed, array given"
* Updated EngageBay integration to the new API endpoint https://api.engagebay.com/
* Developer: Added `wpf_elementor_forms_integration` action hook to allow adding custom Elementor form integrations
* Developer: Removed deprecation notice for `wp_fusionsecure_blocks_for_gutenbergAPI` class until we have time to update all plugins to the new API endpoint
* Developer: Tested WordPress 6.8

= 3.44.23 - January 20, 2025 =
* Added support for [Presto Player Email Capture Form](https://wpfusion.com/documentation/other/presto-player/)
* Added support for Forminator 1.39+, removed legacy v1.30 code
* Improvement - If an HTTP API error occurs while logging an error level message to the log, the HTTP API error will also be logged
* Improvement - Now the `wc_total_spent` and `wc_order_count` fields can be exported to existing users' CRM
* Improvement - When creating custom properties or attributes using the API, the placeholder text in the CRM field selection dropdown will now display "type to add new" when the field is opened
* Improvement - When checking in attendees with Event Tickets, if the attendee's email address does not match the contact ID created during checkout, WP Fusion will attempt to look up the contact ID by email address
* Improvement - Added logging when skipping Event Tickets attendees due to the attendee addition not being enabled
* Improvement - When looking up contact IDs using Customer.io, any custom properties will be saved to WP Fusion CRM field settings
* Improvement in performance of the React-based tag selection component, tags will be passed to the component instead of being loaded via REST API
* Fixed PHP warning in logs when filtering by invalid user ID
* Fixed infinite loop when handling HighLevel 401 errors related to missing scopes
* Developer: Cleaned up and standardized the build process for React integration via webpack.config.js

= 3.44.22 - January 13, 2025 =
* Added link to CRM contact record in attendee details modal [using Event Tickets](https://wpfusion.com/documentation/events/the-events-calendar-event-tickets/#managing-attendees)
* Improvement - When using FluentCRM, the corresponding status fields will be enabled for synchronization if the email consent checkboxes for WooCommerce, EDD, or GiveWP are enabled
* Improvement - Added status icons for Gravity Forms entry list
* Improvement - Status icons in entry and order lists now link to contact records in CRM
* Improved error handling for HighLevel authorization
* Fixed issue where location ID was not saved when setting up HighLevel integration using old [API key setup method](https://wpfusion.com/documentation/crm-specific-docs/highlevel-white-labelled-accounts/) during initial setup
* Fixed issue where settings edited in the GiveWP form builder integration were only saved for that session
* Fixed fatal error when modifying tags in FluentCommunity immediately after a user was added to a course or group
* Developer: Added `wpf_status_icon()` function to output status icons in the admin interface

= 3.44.21.1 - January 7, 2025 =
* Fixed missing "else" condition in `insert_setting_after()` method that caused settings panel not to appear in LearnDash integration
* Fixed issue where new GiveWP form builder integration did not display saved settings

= 3.44.21 - January 6, 2025 =
* Added (very Beta) integration with the new GiveWP visual form builder
* Added support for applying lists in supported CRMs from [FluentBooking Reservations](https://wpfusion.com/documentation/events/fluentbooking/)
* Added support for [creating and updating accounts](https://wpfusion.com/documentation/crm-specific-docs/activecampaign-accounts/) and their contacts in ActiveCampaign
* Set "Unsubscribed" as the default status option for new FluentCRM contacts (same site and REST API)
* Added the option to set new contacts to “Subscribed” or “Pending” when users check the consent checkbox during WooCommerce checkout (default is “Subscribed”)
* Fixed JavaScript error when clicking the test connection button during initial setup

**= 3.44.18 - December 10, 2024 =**

- **Improvement**: Requests will now retry after removing invalid attributes if the properties passed to Klaviyo are invalid.
- **Improvement**: If WooCommerce customers created by registered users check out with an alternate email address, the order details in the sidebar will show a link to the customer contact record instead of the user's contact record.
- **Fix**: PHP classes and objects stored in user metadata will be excluded from synchronization to fix the issue that occurred during cleaning with `stripslashes_deep()`.
- **Fix**: Stopped adding notes to Amelia appointments as it interfered with the Google Meet feature adding its own notes.
- **Fix**: Fixed the issue with MemberPress synchronizing transaction failure details after payment failure, which could overwrite the user's current transaction/membership level information.
- **Fix**: Infusionsoft field mapping from Leadsource field to `source_type` field. Now syncs to potential customer source ID.
- **Fix**: Bulk editing WooCommerce coupons will erase WP Fusion settings.
- **Fix**: WooCommerce lifetime value and total order count not accurately synced during initial checkout.

**= 3.44.17 - December 2, 2024 =**

- **New**: Tag options applied when users accept the retention offer and sync offer titles with CRM, applicable to [WooCommerce Cancellation Survey Plugin].
- **New**: An option to [prevent link tags from causing user dropouts in LearnDash courses] in case of payment failure.
- **New**: Support for connecting to Agency HighLevel accounts and switching locations.
- **New**: Batch operation for marking refunds on EDD orders.
- **Fix**: Custom fields not syncing with Amelia event bookings.
- **Fix**: Ultimate Member profile completion tags not applied if the user profile was completed before admin approval.
- **Improvement**: Restricted posts in RSS summary content will be filtered.
- **Improvement**: Update language in category term settings to better indicate that users must log in to access content when the “Restrict Access” checkbox is checked.
- **Fix**: PHP warning in Klaviyo integration when syncing customer data without a phone number.
- **Fix**: Fatal error in Klick Tipp integration when syncing contacts without smart tags.

**= 3.44.16 - November 26, 2024 =**

- **New**: Added support for the “Delay until activation” feature for registration options in the BuddyPress plugin.
- **New**: Additional validation added for Klaviyo phone numbers to prevent invalid numbers from blocking API requests.
- **Improvement**: The `wc_money_spent` field will be updated with the customer's lifetime value when orders are refunded or canceled.
- **Improvement**: HighLevel Webhooks can now read tags from the webhook payload, saving an API call when using the `update_tags` or `update` endpoint.
- **Fix**: Custom fields not syncing with Amelia 7.9.
- **Fix**: Event Espresso integration does not apply tags for newly created “unapproved” status contacts.
- **Fix**: Some custom code misdetection in the Enhanced Ecommerce add-on advanced tab.
- **Fix**: If the Ultimate Member profile was completed before member approval, the profile completion tag will be applied upon approval.
- **Fix**: Klaviyo duplicate profile handling appends duplicate IDs to the request URL instead of replacing existing IDs.
- **Fix**: HighLevel integration reads tags from webhooks as a single comma-separated string.

**= 3.44.15 - November 18, 2024 =**

- **New**: Support for ConvesioConvert (formerly Growmatik).
- **New**: Support for syncing AffiliateWP referral data from Easy Digital Downloads payments.
- **Improvement**: MemberPress integration will apply tags when memberships expire and synchronize fields from the previous membership level.
- **Improvement**: Added a warning when changing FluentCRM tag formats, as it requires resynchronizing tags for each user.
- **Fix**: The ld_last_lesson_completed field was inadvertently removed from field mapping.
- **Fix**: Transaction failure tags configured on individual WooCommerce products were not applied since 3.44.11.
- **Fix**: New tags created via FluentCRM (REST API) were not saved to WP Fusion.
- **Fix**: Klaviyo added the country code twice if the provided phone number was less than 8 digits.
- **Fix**: Warning about invalid date format when syncing dates to read-only fields in HubSpot integration.
- **Fix**: PHP warning for undefined array key "apply_tags_converted" in WooCommerce Subscriptions integration.
- **Developer**: Added `wpf_phone_number_to_e164` filter to allow overriding the default country code added when converting to E.164 format.
- **Developer**: The apply_tags(), remove_tags(), push_user_meta(), and user_register() PHP methods now return WP_Error objects instead of false for easier logging.
- **Developer**: The get_contact_id() method now returns false if there is an API error, allowing integrations to attempt creating a new contact as a fallback.
- **Developer**: Added `wpf_disable_api_queue()` function to allow bypassing the API queue for single requests.
- **Developer**: Added basic unit testing framework; see readme.md for more information.

**= 3.44.14 - November 12, 2024 =**

- **New**: Support for [Klaviyo Webhooks].
- **New**: Ability to set default record type for new Salesforce contacts created by WP Fusion.
- **New**: Option to toggle between tag IDs and aliases in the FluentCRM (REST API) integration. New installations will default to using tag IDs.
- **New**: Salesforce compatibility for [api.php Webhook endpoint].
- **New**: Support for Gravity Forms Product Configurator (only processes forms after handling WooCommerce orders).
- **New**: Total order count and lifetime value fields for WooCommerce sync.
- **New**: Last joined group field in LearnDash integration.
- **New**: Log indication when user metadata is synced due to push all settings.
- **Improvement**: Status indicator for background workers.
- **Improvement**: The `wpf_phone_number_to_e164()` function will remove leading 0 from phone numbers.
- **Improvement**: Slight reduction in the number of bytes required to store CRM field mappings in the database.
- **Fix**: When synchronizing Paid Memberships Pro member metadata via batch operations, the last membership level would sync even if the membership was canceled or expired. Now it will sync the member as inactive and clear any membership level fields in the CRM.
- **Fix**: Missing third parameter `$lookup_cid` in `wpf_get_tags()`.
- **Fix**: Wildcard symbols in the “Allowed URLs” setting for site lock do not respect query parameters.
- **Fix**: Batch operations have not been working on multisite since 3.44.11.
- **Fix**: Methods in the namespace integration class appear as custom code on the advanced settings tab.
- **Fix**: Brevo Webhooks do not work when subscribers already have WordPress user records but are not linked to contact IDs.

**= 3.44.13 - November 1, 2024 =**

- **New**: Added error handling when passing an invalid contact ID to wp_fusion()->crm.
- **Improvement**: Error handling for deleting or merging contacts in HubSpot.
- **Improvement**: Labels in the Event Tickets UI are clearer, indicating that labels apply to attendees rather than purchasers.
- **Fix**: Bulk changes to WooCommerce order status are blocked if the order status is not enabled for synchronization.
- **Fix**: Unhandled error logging entry notes when synchronizing form entries fails in WPForms Pro integration.
- **Fix**: Undefined index notice when restoring subscriptions in MemberPress integration.

**= 3.44.12 - October 28, 2024 =**

- **New**: [WooCommerce Subscription Cancellation Survey Integration].
- **New**: Support for dynamically displaying Elementor widgets based on underlying post configuration access rules.
- **New**: Support for dynamically displaying Bricks widgets based on underlying post configuration access rules.
- **New**: Application list in Fluent Forms integration (along with supported CRMs).
- **New**: Translations in German, Dutch, Spanish, and Portuguese.
- **Improvement**: The Lite version will be disabled and a notification will be displayed if the full version of WP Fusion is installed.
- **Improvement**: CartFlows upsell and downgrade orders will no longer be processed asynchronously.
- **Fix**: Automatic registration of AffiliateWP groups triggered each time user tags are updated.
- **Fix**: Event fields not syncing when purchasing Event Tickets through Tickets Commerce gateway.
- **Fix**: The billing company field will not be shown as an available sync field if hidden during WooCommerce checkout.
- **Fix**: Fatal error when loading tags if user tags are not saved as an array in the database.
- **Fix**: Fatal error when calling `wpf_clean_tags()` if CRM object is not loaded.
- **Fix**: Bulk actions marked as “Processed with WP Fusion” do not display when using the traditional (non-HPOS) WooCommerce order storage.
- **Translator**: Updated .pot file, merged similar strings within the plugin, and fixed dozens of untranslatable strings.
- **Developer**: Added `wpf_should_do_asynchronous_checkout` filter to allow overriding the default logic for determining whether WooCommerce orders should be processed asynchronously.
**= 3.44.11 - October 21, 2024 =**

- **Improvements [Fluent Forms Integration]**:
- Added support for conditional logic when applying tags.
- Added support for dynamic tag selection fields.
- **Improvements**: If customers choose to receive marketing information at checkout in WooCommerce or Easy Digital Downloads, the marketing consent status will sync to ActiveCampaign Deep Data customer records.
- **Improvements**: The background process for bulk changing WooCommerce order statuses will only start if the order status field (or order status label) is enabled.
- **Improvements**: Added IPv6 debug information in activation error messages.
- **Improvements**: Added logging when batch operations are completed.
- **Improvements**: Optimized the storage of batch operation queues when running on specific lists of WordPress user IDs or WooCommerce order IDs.
- **Fixes**: Fixed an issue where the status of failed WooCommerce renewal orders was synced as “failed” instead of “pending” when auto-retry was enabled.
- **Fixes**: Fixed an issue where the new “Process with WP Fusion” bulk action for WooCommerce orders did not work.
- **Fixes**: Fixed an issue where CartFlows orders were marked as “not processed by WP Fusion” when “Run on main order accepted” was enabled and the order status changed from Processing to Completed.
- **Fixes**: Since 3.44.8, canceling batch operations caused them to become orphaned in the options table. A cleanup operation was added to clear any orphaned batch operations.
- **Fixes**: Fixed an issue where batch operations set to auto-load in options (not needed when processing one operation at a time) did not work.
- **Fixes**: Fixed an issue where the “Membership Status” field in WooCommerce Memberships for specific membership plans did not sync when the membership status changed.
- **Fixes**: Fixed a PHP warning in the BuddyPress integration: “Undefined variable $parent_group.”
- **Fixes**: Fixed a fatal error that occurred when recording contact IDs created through form submissions in WPForms Lite (WPForms Lite does not support entry metadata).
- **Developer**: Added method `wp_fusion()->crm->get_marketing_consent_from_email()`,Allow retrieval of marketing consent status from email addresses (for WooCommerce and Easy Digital Downloads).

**= 3.44.10 - October 14, 2024 =**

- **New**: Support for Webhooks configured via HubSpot private applications.
- **New**: Support for refunds via Infusionsoft/Keap XMLRPC API.
- **New**: Added region and timezone fields to Klaviyo integration.
- **Improvement**: Partially restored changes to WooCommerce pending order status from 3.44.8: now the pending status will be synchronized as long as the customer already has a contact record (still will not create new contacts just for synchronizing status).
- **Fix**: Fixed the error `Too few arguments to function WPF_Woocommerce::batch_step_order_statuses()` that occurred when running WooCommerce order status bulk operations from the advanced settings tab.
- **Fix**: Fixed the issue where the auto-login system would be triggered and log an error even when the contact ID is empty and `&cid` is present in the URL.
- **Fix**: Fixed the PHP warning “foreach() argument must be of type array|object, string given” that occurred when canceling a batch operation since 3.44.8.
- **Fix**: Fixed the unhandled `WP_Error` response in Gravity Forms Entries bulk operations when calling `GFAPI::get_entry()` fails.
- **Fix**: Fixed the fatal error occurring during Event Espresso registration bulk operations when registration does not have a primary attendee.

**= 3.44.9 - October 8, 2024 =**

- **Improvement**: New Infusionsoft/Keap API [does not support refund orders], therefore after a refund, WP Fusion will record a note in the order with a link for manual refunds.
- **Fix**: Fixed the issue where the Account Name field was not loading from ActiveCampaign.
- **Fix**: Fixed the issue where field mapping was not displayed in new WPForms forms since 3.44.4.
- **Fix**: Fixed the issue where automatic application of coupons with WooCommerce was not applied during the cart recovery link period of the abandoned cart addon.
- **Fix**: Fixed the fatal error that occurred when accessing FunnelKit Automations (same site) auto-login URL with an invalid contact ID.

= 3.44.8 - 9/30/2024 =
*Improvement - Stopped syncing WooCommerce order status fields when the order status is 'Pending' to prevent duplicate contacts at checkout (especially when using the abandoned cart plugin)
*Improvement - Digital status or region will no longer sync to Infusionsoft/Keap to prevent API errors
*Increased reliability when canceling baking operations with the 'Cancel' button
*Improved logging for auto-login sessions with invalid contact IDs in the URL
*Fixed the issue where the auto-login system attempted to initiate an auto-login session for visitors with the 'wpf_contact' cookie set but an empty contact ID
*Fixed the issue where `wp_die()` was triggered by cron instead of returning initiated background operations, preventing subsequent cron jobs
*Fixed the issue where Ultimate Member profile updates could not sync if the profile form did not contain a username or email
*Fixed the error that occurred when deleting users from AffiliateWP groups linked to tags if the user was not already an affiliate member
*Fixed the issue where the import tool loaded contacts with Groundhogg (REST API) did not exceed 100
*Fixed - Further checks to ensure the label array is reindexed before being passed to the CRM

= 3.44.7 - 9/23/2024 =
* Added support for [synchronizing lead source data when updating contacts] (via code snippets), not just when adding new contacts.
* Improvement - If tags linked to AffiliateWP groups are applied to pending affiliates, those affiliates will now be activated before being added to the group.
* Improvement - The new auto-login session will now log the current URL.
* Improvement - A link to CRM-specific settings documentation has been added in the CRM configuration settings section.
* Improvement - A note about logging into the HighLevel application before attempting to connect has been added in the HighLevel settings.
* Improvement - Moved the Mautic tracking script from the footer to the header to fix some console errors when playing mediaelement.js videos.
* Improvement - Updated the list tag pagination API call using Infusionsoft/Keap to comply with the new V2 specifications.
* Developer: Added `wpf_api_{$method_name}` filter to allow [bypassing/overriding API calls in the CRM class](https://wpfusion.com/documentation/filters/wpf_api_method_name/).
* Fixed the issue where the `user_meta` shortcode could not correctly convert date storage to timestamps.
* Fixed the issue with the Infusionsoft/Keap tag array API call not being re-indexed before sending, which caused the “cannot convert input” error when removing invalid tags from the payload.
* Fixed the error “array_keys(): argument #1 ($array) must be of type array, bool given” in the LearnDash admin course list when no tags are available in the CRM.
* Fixed the error “undefined function affwp_get_affiliate_statuses()” that occurred when AffiliateWP version was below 2.3.

= 3.44.6.1 - 9/17/2024 =
* Fixed the reverse logic of the EDD version check discount feature: since 3.44.6, the discount tagging feature has been disabled for EDD versions 3.0 and above.
* Fixed the issue where the saved lock redirect URL without a trailing slash caused an infinite redirect when triggering a lock redirect.

= 3.44.6 - 9/16/2024 =
* Added support for resynchronizing contact IDs and tags by bulk selecting users from the 'All Users' page
* Added support for batch processing WooCommerce orders by selecting order IDs from the orders page
* Added batch operation for WooCommerce order statuses
* Improved - WooCommerce bulk order status changes will now initiate a new background process and display an indicator at the top of the orders page
* Improved - The CRM that supports typing new tags in the tag dropdown will update the placeholder to '(Type to add new tag)' when the dropdown is opened
* Improved - Brevo website tracking feature can now identify visitors of tracking scripts after a guest places an order or submits a form
* Improved - The traditional Infusionsoft/Keap module located at 'wp_fusion()->crm->app' is now lazy-loaded, so it only loads when needed, rather than on every page load
* Improved - Disabled discount functionality for Easy Digital Downloads versions below 3.0.0 and added a notification for administrators
* Fixed an issue where course completion labels did not apply to WPComplete when courses with multiple buttons were marked as completed by the administrator on the same page
* Fixed an issue where user role changes after initial registration did not sync to the CRM

= 3.44.5 - 9/10/2024 =
* Added support for syncing guest bookings with Amelia
* Improved - Infusionsoft/Keap integration now converts all two-digit status abbreviations to uppercase
* Improved - Using Infusionsoft/Keap, if a U.S. state is provided for the address but no country code is provided, the country code will automatically be set to the U.S.
* Improved - Using Infusionsoft/Keap, if a region code is provided for the address but no country code is provided, a notification will be logged
* Fixed an issue where the 'wp_fusion_init_crm' hook did not change the CRM name on the 'Settings' tab (when white labeling)
* Fixed an issue where course completion labels did not apply to WPComplete when courses with multiple buttons were marked as completed by the administrator
* Fixed an issue where custom field mapping did not apply to WS-Form and CRM using custom field groups
* Fixed a PHP warning in MemberPress integration when registering a new user without a payment method
* Fixed an error in advanced integration when deleting tags from deleted contacts
* Fixed an issue where the Infusionsoft/Keap integration recorded errors when logging free order payments
= 3.44.4 - 9/3/2024 =
*Added support for [using WPForms to set up field mapping] (https://wpfusion.com/documentation/lead-generation/wpforms/#conditional-logic) to make it easier to apply tags through conditional logic
*Added support for multiple memberships via Restrict Content Pro
*Added last donation date field synchronized with GiveWP
*Increased the delay for batch operations with Klaviyo to avoid the API limit of 3 requests per second (60 requests per minute)
*Improvement - If you attempt to sync an invalid country name or code with Infusionsoft/Keap, WP Fusion will remove the data from the API call to avoid API errors
*Improvement - If you attempt to sync an invalid owner ID with Infusionsoft/Keap, it causes the API to crash (error code 500). We have added a more descriptive error message in the logs indicating when this field causes an error
*Improved Infusionsoft/Keap error logging
*Improvement - Increased API timeout to 20 seconds when using Infusionsoft/Keap
*Improvement - If an API call to Infusionsoft/Keap fails with a 503 error (“Service Unavailable”), WP Fusion will retry the API call after a 2-second delay
*Improvement - WP Fusion will no longer apply timezone offsets to dates without a time component synced to Groundhogg (on the same site)
*Improved error logging for Salesforce access token refresh failures
*Fixed deprecated repeater notifications in the JavaScript console with Elementor Pro Forms integration
*Fixed an issue where tags were not applied when courses were marked complete in the admin with WPComplete/course/button
*Fixed the issue where tags applied in FluentCRM (on the same site) triggered by WP Fusion were not synced back to WordPress
*Fixed the issue where the “wp_capabilities” field did not sync after membership level changes compared to paid memberships pro
*Fixed the error “Cannot use string offsets as an array” when using WPComplete on PHP 8.2
*Fixed notifications logged during integration with Infusionsoft/Keap stating “custom field address/email_addresses/phone_numbers is not a valid custom field”
* Fixed the issue of nickname field not syncing with Infusionsoft/Keap
* Fixed the issue where advanced integration could not create contacts added by ThriveCart
* Fixed the PHP warning 'Automatic conversion of false to array is deprecated' when the close hook runs multiple times
* Fixed the PHP error in If Menu integrated with PHP 8.2 'array_map(): Argument #2 ($array) must be of type array, string given'= 3.44.3 - 8/26/2024 =
* Added support for [Creating and updating Leads from form submissions using Zoho](https://wpfusion.com/documentation/crm-specific-docs/updating-leads/)
* Improvement - When using the [api.php webhook method](https://wpfusion.com/documentation/other-common-issues/webhooks-not-being-received-by-wp-fusion/#the-async-endpoint-advanced), you can now define a custom ABSPATH through php.ini or a bootstrap file (for custom WP directory locations)
* Improved support for syncing country and region codes with Infusionsoft/Keap
* Improvement - When using the [`user_meta` shortcode](https://wpfusion.com/documentation/getting-started/shortcodes/#displaying-user-meta), input strings of 8 characters or less will no longer be treated as timestamps (allowing dates like 2024 or 20240101 to be correctly formatted as dates)
* Improvements to the [add_object] method in the CRM base class](https://wpfusion.com/documentation/functions/add_object/)
* Improvement - When users [automatically register to AffiliateWP groups via link tags](https://wpfusion.com/documentation/affiliates/affiliate-wp/#linking-tags-to-groups), their affiliate accounts will be automatically set to active status
* Improvement - If Lead syncing is enabled, and the user is logged in, has a contact ID, and submits a form, their contact record will be updated, and a Lead record will not be created
* Improved logging when users sync to the CRM due to role changes
* Fixed an error when syncing custom fields to Infusionsoft/Keap with special characters in CRM field labels (e.g., ?, !, etc.)
* Fixed user registration operations running twice when using the “Restrict User Role” setting
* Fixed an “Undefined variable $lists” warning when creating contacts without any lists in the ActiveCampaign integration
* Fixed the notification “Not selected to add to CRM, user will not be synced to CRM.” when manually adding users via WP Admin.
* Fixed an issue where changing the user role on the admin user profile would trigger synchronization with the CRM even when the role field was not enabled for synchronization
* Fixed an issue where custom post types created by JetEngine did not adhere to post access rules
* Developer: Added functions `wpf_country_to_iso3166()` and `wpf_state_to_iso3166()`, which convert country and state codes to ISO 3166-1 alpha-3 and alpha-2 codes
* Developer: Added filter `wpf_country_to_sio3166` to allow overriding the default country to ISO 3166-1 alpha-3 code conversion
* Developer: `wpf_is_field_active()` can now accept an array of field IDs, returning true if any field is active

= 3.44.2 - 8/19/2024 =
* Added support for line items (discounts, shipping, taxes) through the new Infusionsoft/Kap integration
* Added support for [webhooks (also known as “outbounds”)](https://wpfusion.com/documentation/webhooks/klicktipp-webhooks/) using KlickTipp
* Added [visibility indicators for elements protected by WP Fusion access rules](https://wpfusion.com/documentation/page-builders/bricks/#visibility-indicators) in the Bricks editor
* Added [AffiliateWP - export bulk actions](https://wpfusion.com/documentation/affiliates/affiliate-wp/#export-options) for exporting historical referral data
* Added a text search field on the WP Fusion logs page
* Improved performance of API applications and tag removal using Infusionsoft/Keap
* Improved - If an Infusionsoft/Keap API call is throttled due to too many requests, WP Fusion will now wait 2 seconds before retrying
* Improved - The new Keap/Infusionsoft integration will now append to the existing Person Notes field when syncing notes instead of replacing it
* Improved - With the new Infusionsoft/Kap integration, if a U.S. state is specified for the address but no country is provided, the country code will be set to the United States
* Improved - With the new Infusionsoft/Keap integration, if an invalid locale code is synced to the language field, a notification will be logged and the field will be cleared to avoid API errors
* Improved KlickTipp error handling
* Fixed an issue where the “Membership Expiration Date” field, enabled for specific WooCommerce membership levels, was not set to synchronize as a date by default

= 3.44.1.1 - 8/15/2024 =
*Added U.S. state names in the ISO 3166-2 code conversion for updating billing and shipping addresses using Infusionsoft/Keap
*Improvement - Disabled synchronization of the “Personal Notes” field for existing contacts with Infusionsoft/Keap, as Keap now replaces the notes field during synchronization instead of appending to it
*Improvement - Custom fields used with Infusionsoft/Keap will now be sorted alphabetically in the WP Fusion field dropdown menu
*Fixed an issue since 3.44.1 where “date” type fields (such as birthdays) were being synchronized to Infusionsoft/Keap as ISO8601 date-time data instead of “Y-m-d” date format
*Fixed date/time fields that were not formatted to WordPress date/time format when loading Infusionsoft
*Fixed an issue where CRM field labels were missing in the WPForms feed settings using custom field categories
*Fixed “Creating Dynamic Properties” PHP warning in older CRM integration with PHP 8.2

= 3.44.1 - 8/12/2024 =
**Note:** For security reasons, Infusionsoft/Keap has removed the standard “password” and “username” fields from the new API. To avoid errors when syncing passwords and usernames, WP Fusion will log a notification when these fields are detected and will remove them from the sync. If you need to sync usernames and passwords, please create new custom text fields to store the data.
* Improved error handling for duplicate and not found contacts in Ontraport
* Improved - (Infusionsoft/Keap) added ISO 3166-1 country name conversion to convert “United States” to “USA” (previously only matched “United States of America”)
* Fixed issues with new Infusionsoft integration when exchanging billing and shipping addresses
* Fixed issue where new Infusionsoft integration could not sync dates in ISO8601 format
* Fixed issue where new Infusionsoft integration could not load more than 10 available products
* Fixed WP Fusion using the pseudo order item “wpf_rest_product” when creating blank orders with the new Infusionsoft REST API integration
* Fixed error “PHP Error: Uncaught TypeError: array_flip(): Argument #1 ($array) must be of type array” when syncing new custom fields with the new Infusionsoft REST API integration
* Fixed EDD subscription end date field syncing renewal date instead of subscription end date (for fixing length subscriptions)
* Fixed issue where the setting “Remove the tags specified in ‘Apply Tags’ if membership is canceled” did not apply to LifterLMS memberships
* Fixed issue where EDD renewals processed by WP Fusion were not marked as “wpf_complete” and did not show the orange success indicator in the EDD order list
* Fixed issue with Groundhogg (same site) integration not immediately loading custom fields added when creating new contacts
* Fixed date fields syncing to Groundhogg (REST API) as timestamps instead of dates
* Fixed tags removed in FluentCRM automation (same site) that was triggered by WP Fusion applying tags without triggering the sync of user tags in WordPress
* Fixed PHP warning in download monitor integration “Trying to get property 'post_type' of non-object”
* Developers: If sync fields are not enabled, `add_contact()` will now return `WP_Error` instead of `false`
*Developer: WP Fusion logs are now sorted by log ID instead of timestamp to avoid confusion when changing the site's timezone

= 3.44.0.2 - 8/6/2024 =
*Fixed migration of custom fields with spaces in tags to the new Infusionsoft API field mapping
*Fixed the 'unrecognized entity' error that occurred since 3.44.0 when syncing custom fields with spaces in tags to Infusionsoft/Kap

= 3.44.0.1 - 8/6/2024 =
*Fixed the new Keap/Infusionsoft integration, limiting the load to no more than 1000 per tag or tag category
*Fixed the issue where the Keap/Infusionsoft integration couldn't import all contacts without specifying import tags

= 3.44.0 - 8/5/2024 =
*Major Update: WP Fusion has been updated to use the Infusionsoft REST API and [Service Account Key](https://developer.infusionsoft.com/pat-and-sak/) for authentication. Infusionsoft/Keap users need to update their API credentials to ensure uninterrupted service.
*Improved `wpf_get_iso8601_date()` now uses GMT more robustly as the timezone instead of local time.
*Improvement - Added logging if HubSpot token refresh fails.
*Improved `wp_fusion()->settings->set()` now returns false if settings are not successfully saved.
*Fixed “Assign List” setting for ActiveCampaign applied to all new contacts, not just new user registrations.
*Fixed issue where the “generated_password” field was not synced with WooCommerce when the “Automatically register new user accounts as affiliates” setting for AffiliateWP was enabled.
*Fixed issue where the “Resubscribe when adding unsubscribed subscribers to new group” setting did not apply to MailerLite.
*Fixed issue where MailerLite group ID was not saved correctly in CartFlows UI (float values were saved as integers).
*Fixed missing “crm.schemas.deals.write” scope in HubSpot integration that occasionally caused deal properties not to save.
*Fixed error processing WooCommerce renewal orders when a valid order was not found for the provided order ID.
*Fixed fatal error “WPF_AffiliateWP has no method ‘tag_modified’ in AffiliateWP integration” when the status of an affiliate changes and then tags are applied to the affiliate in the same request.
*Fixed issue with deprecating “DOMNodeInserted” when editing WooCommerce variations.
*Fixed PHP warning “Trying to read property 'referrer' on bool” that occurred when syncing AffiliateWP referrer visit data for recurring payments.

= 3.43.20.1 - 7/30/24 =
*Fixed PHP warning “Trying to read property 'date' of null” in EDD recurring payments integration when processing the initial payment for subscriptions since 3.43.20.

= 3.43.20 - 7/29/24 =
*Improvement - If the order date or the next payment date enables Easy Digital Downloads recurring payments, these payments will now sync after each renewal payment
*Fixed an issue where saved MemberDash tag settings were not loading
*Fixed duplicate tag selection UI in MemberDash access options settings
*Fixed a fatal error on the post table list when no tags were available in the CRM
*Fixed a “Function ID call is incorrect” notification when viewing CRM contact record IDs for customers in the WooCommerce order sidebar
*Fixed a PHP warning when no customer address was provided during SureCart checkout
*Fixed - Removed deprecated “MailPoetModelsSubscriber” when updating MailPoet subscribers
*Fixed a fatal error in PHP 8.2 where EDD subscription expired if “Remove tags” was checked but no tags were specified in the “Apply tags” settings