Opt-In
Provides features and functions to create an opt-in or double-opt in with contact form 7 (cf7) and other form plugins.
Plugin info
Maintenance & Compatibility
Maintenance score
Possibly abandoned • Last updated 1202 days ago
Is Opt-In abandoned?
Possibly abandoned (last update 1202 days ago).
Compatibility
Similar & Alternatives
Explore plugins with similar tags, and compare key metrics like downloads, ratings, updates, support, and WP/PHP compatibility.
Description
Provides features and functions to create an opt-in or double-opt in with contact form 7 (cf7) and other form plugins.
Save contacts
To store your contacts, please install the additional plugin called bin contact. This plugin assists you installing all the necessary dependencies.
Opt-In Function
BinOptIn::optIn($postdata, [
'opt_in_admin_message' => false,
'double_opt_in' => false,
'admin_unlock' => false,
'unlock_message' => false
]);
-
opt_in_admin_message
(bool) Notify the site owner of any new contact, regardless of whether or not he has confirmed his e-mail address. Default false. -
double_opt_in
(bool) The contact must confirm the e-mail address by clicking on a confirmation link. Default false. -
admin_unlock
(bool) The site owner has to confirm every new contact by clicking on a confirmation link. This is useful if you want to show a list of contacts (like a committee or a list of supporters). Default false. -
unlock_message
(bool) This option allows you to specify whether the contact should receive a notification once the site owner has confirmed the committee subscription. Default false. -
mailchimp_opt_in
(bool) This option allows you to specify whether the contact will be forwarded to Mailchimp. Default false.
Accepted postdata
-
salutation
(int) Default empty.- 0 (Mister)
- 1 (Miss)
- 2 (Other)
-
polite_form
(int) Default empty.- 0 (Personally)
- 1 (Formally)
-
language_of_correspondence
(int) Check this functions to see a list of all available languages: BinContact::formLanguage() and BinContact::formLanguageValue() -
name_suffix
(string) Default empty. -
first_name
(string) Default empty. -
last_name
(string) Default empty. -
designation
(string) Default empty. -
mobile
(string) Default empty. -
phone_private
(string) Default empty. -
phone_work
(string) Default empty. -
street_and_number
(string) Default empty. -
zip
(string) Default empty. -
city
(string) Default empty. -
country
(string) Default empty. -
website
(string) Default empty. -
facebook
(string) Default empty. -
twitter
(string) Default empty. -
instagram
(string) Default empty. -
flickr
(string) Default empty. -
linkedin
(string) Default empty. -
xing
(string) Default empty. -
youtube
(string) Default empty. -
socialmedia_other1
(string) Default empty. -
socialmedia_other2
(string) Default empty. -
socialmedia_other3
(string) Default empty. -
terms_and_conditions_accepted
(string) Default empty.- empty (Not filled)
- no (No)
- yes (Yes)
-
privacy_policy_accepted
(string) Default empty.- empty (Not filled)
- no (No)
- yes (Yes)
-
contact_group
(string) Comma seperated list of contact_group taxonomy terms or ID’s. Default empty.
Integrate with Contact Form 7
Bin Opt-In works best with contact form seven. To integrate it into your contact forms, you need to add custom code like this to your theme functions.php.
add_action('wpcf7_before_send_mail', 'bin_opt_in_contact');
function bin_opt_in_contact($cf7)
{
// Get current form id
$formId = $cf7->id;
// Array of form ids
$forms = [159, 454];
// Only apply to certain forms
if(in_array($formId, $forms))
{
// Dont do anything if class is missing
if(class_exists('BinOptIn'))
{
// At least, the email must be present
if(is_email($_POST['email']))
{
// map salutation
$salutationMap = [
'Frau' => 0,
'Madame' => 0,
'Mrs' => 0,
'Herr' => 1,
'Monsieur' => 1,
'Mr' => 1,
'*' => 2
];
// assign form data with corresponding meta fields
$postdata = [];
$postdata['email'] = sanitize_email($_POST['email']);
$postdata['first_name'] = sanitize_text_field($_POST['first_name']);
$postdata['last_name'] = sanitize_text_field($_POST['last_name']);
$postdata['salutation'] = $salutationMap[$_POST['salutation']];
$postdata['terms_and_conditions_accepted'] = isset($_POST['terms_and_conditions_accepted']) ? 'yes' : '';
// save contact
BinOptIn::optIn($postdata, [
'opt_in_admin_message' => false,
'double_opt_in' => false,
'admin_unlock' => false,
'unlock_message' => false
]);
}
}
}
}
Integrate with Contact Form 7 Multi-Step Pro
Save form data at every step by using the filter wpcf7_validate.
add_filter('wpcf7_validate', 'save_contact_step', 10, 2);
function save_contact_step($result, $tags)
{
// Get current form id
$formId = $_POST['_wpcf7'];
// Array of form ids
$forms = [159, 454];
// Only apply to certain forms
if(in_array($formId, $forms))
{
// Dont do anything if class is missing
if(class_exists('BinOptIn'))
{
// save contact info here
// BinOptIn::optIn()
}
}
return $result;
}
Installation
- Download, unzip and upload to your WordPress plugins directory
- Activate the plugin within you WordPress Administration Backend
Frequently Asked Questions
Review feed
Changelog
- Version 1.2.3
- Image embedding removed: not supported by gmail
- Translation corrections
- Version 1.2.2
- Minor bugfix
- Version 1.2.2
- Fix: fatal error if bin-contact is not installed
- Version 1.2.0
- New: Mailchimp integration
- New: Add default settings on plugin activate
- New: Text settings
- New: Change button color
- Fix: Wrong link to wpml translation page
- Fix: Wrong installation path of bin-contact plugin
- Fix: Missing hero background image
- Version 1.1.0
- New option for Social Share Buttons
- BinOptIn_UrlLinker removed
- Double-opt-in routing fix
- Show additional content on confirmation page
- Logo height setting added
- Image embed enhancements
- Attribute publicly_visible added
- Wpml-config file added
- More options for optIn
- Better email template management
- Version 1.0.1
- Backend text correction
- Conditional logic update
- Do not delete settings on plugin deactivate
- Version 1.0.0
- Initial release
