FluentCRM Subscriber Status for FluentForms
FluentCRM Conditional Status for FluentForms
by Nic Scott · github.com/nicscott01/fluentcrm-conditional-status · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/nicscott01/fluentcrm-conditional-status/archive/refs/heads/main.zipFluentCRM Conditional Status for FluentForms
FluentForms + FluentCRM add-on that makes subscriber status assignment explicit and predictable.
What It Does
This plugin changes FluentCRM feed behavior in FluentForms by:
- Adding
Subscriber Status (Mapped Value)to Other Fields mapping - Adding a per-feed
Fallback / Forced Statusselect - Removing conflicting native status toggles from the feed UI (
double_opt_in,force_subscribe) - Replacing FluentCRM's default feed runtime callback so mapped/forced status is authoritative
Why
FluentCRM's default FluentForms feed runtime sets status mainly via native toggles (subscribed / pending). That prevents reliable field-based status mapping (for example, transactional).
This plugin keeps the existing feed model but takes control of status resolution.
Status Resolution Order
For each feed run:
- Mapped status from Other Fields (
status) Fallback / Forced Status(fcs_force_status)- Legacy/default behavior (for backward compatibility)
If final status is pending, double opt-in email is sent.
Requirements
- WordPress 5.8+
- PHP 7.4+
- Fluent Forms
- FluentCRM
Installation
- Copy this plugin folder to
wp-content/plugins/fluentcrm-conditional-status - Activate in WordPress admin
- Edit a Fluent Form > Settings & Integrations > FluentCRM
Usage
- In FluentCRM feed, under Other Fields, map:
- Contact Property:
Subscriber Status (Mapped Value) - Form field/smartcode that resolves to a status slug (
subscribed,pending,transactional, etc.)
- Contact Property:
- Optionally set
Fallback / Forced Statusper feed. - Use feed-level conditional logic to run different feeds for different consent paths.
Release Process (GitHub Tags)
This repo currently uses GitHub tags for releases.
Example:
git tag v1.0.1
git push origin v1.0.1
Create release ZIP from repo root:
git archive --format=zip --output fluentcrm-conditional-status-1.0.1.zip HEAD
Before tagging, update:
fluentcrm-conditional-status.phpplugin versionreadme.txtstable tag/changelogCHANGELOG.md
WordPress.org Later
The plugin already includes the key file used by WordPress.org (readme.txt).
When ready, publish to the plugin SVN repo and tag there.