{"id":173298,"date":"2023-05-09T13:11:37","date_gmt":"2023-05-09T13:11:37","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/controller-fields-for-contact-form-7\/"},"modified":"2024-12-02T14:07:09","modified_gmt":"2024-12-02T14:07:09","slug":"controller-fields-for-contact-form-7","status":"publish","type":"plugin","link":"https:\/\/tt.wordpress.org\/plugins\/controller-fields-for-contact-form-7\/","author":17108179,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.0","stable_tag":"2.0.0","tested":"6.7.5","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Controller Fields for Contact Form 7","header_author":"AuRise Creative","header_description":"This plugin extends Contact Form 7 by adding controller form fields and a framework to hide\/display any form content based on user interaction. Requires Contact Form 7.","assets_banners_color":"","last_updated":"2024-12-02 14:07:09","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/just1voice.com\/donate\/","header_plugin_uri":"https:\/\/aurisecreative.com\/controller-fields-for-contact-form-7\/","header_author_uri":"https:\/\/aurisecreative.com\/","rating":5,"author_block_rating":0,"active_installs":50,"downloads":3319,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"tessawatkinsllc","date":"2023-05-09 13:10:58"},"1.1.0":{"tag":"1.1.0","author":"tessawatkinsllc","date":"2024-04-15 21:16:48"},"1.1.1":{"tag":"1.1.1","author":"tessawatkinsllc","date":"2024-04-16 14:37:30"},"2.0.0":{"tag":"2.0.0","author":"tessawatkinsllc","date":"2024-12-02 14:07:09"}},"upgrade_notice":{"2.0.0":"<p>Major updates to script function to allow for more flexibiity, including operations, multiple controllers, numeric value checks, more form tags, and a bug fix! See <a href=\"https:\/\/plugins.trac.wordpress.org\/browser\/controller-fields-for-contact-form-7\/trunk\/changelog.txt\">the changelog<\/a> for more details.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3071694,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3071694,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3200968,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/?p=2\",\"preferredVersions\":{\"php\":\"latest\",\"wp\":\"latest\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"login\":true,\"steps\":[{\"step\":\"defineWpConfigConsts\",\"consts\":{\"WPCF7_AUTOP\":false}},{\"step\":\"setSiteOptions\",\"options\":{\"blogname\":\"Controller Fields for Contact Form 7 Demo\",\"blogdescription\":\"A sandbox environment to preview and demonstrate version 2.0.0 of Controller Fields for Contact Form 7. Last modified on September 1, 2024.\"}},{\"step\":\"installPlugin\",\"pluginZipFile\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"contact-form-7\"},\"options\":{\"activate\":true}},{\"step\":\"installPlugin\",\"pluginZipFile\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"controller-fields-for-contact-form-7\"},\"options\":{\"activate\":true}},{\"step\":\"runPHP\",\"code\":\"<?php require_once('\\\/wordpress\\\/wp-load.php');wp_insert_post(array('ID'=>2,'post_author'=>1,'post_type'=>'page','post_status'=>'publish','post_name'=>'example-page-with-dynamic-form','post_title'=>'Example Page with Dynamic Form','post_content'=>'<!-- wp:contact-form-7\\\/contact-form-selector {\\\"id\\\":4,\\\"hash\\\":\\\"d3m0For\\\",\\\"title\\\":\\\"Demo Form\\\"} --><div class=\\\"wp-block-contact-form-7-contact-form-selector\\\">[contact-form-7 id=\\\"d3m0For\\\" title=\\\"Demo Form\\\"]<\\\/div><!-- \\\/wp:contact-form-7\\\/contact-form-selector -->','comment_status'=>'closed','ping_status'=>'closed'));wp_insert_post(array('ID'=>4,'post_type'=>'wpcf7_contact_form','post_status'=>'publish','post_title'=>'Demo Form','post_author'=>1,'comment_status'=>'closed','ping_status'=>'closed','meta_input'=>array('_form'=>'<div><h2>Drop-down menu as Controller<\\\/h2><p><label><span class=\\\"label\\\">Select a fruit<\\\/span>[select_controller fruits id:my-fruit \\\"Apples\\\" \\\"Bananas\\\" \\\"Dragon fruit\\\"]<\\\/label><\\\/p><div><p><strong>Content below me will change based on your fruit of choice!<\\\/strong><\\\/p><div data-controller=\\\"my-fruit\\\" data-values=\\\"Apples\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>How you like them apples?<\\\/p><\\\/div><div data-controller=\\\"my-fruit\\\" data-values=\\\"Bananas\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>Bananas are my favorite fruit.<\\\/p><\\\/div><div data-controller=\\\"my-fruit\\\" data-values=\\\"Dragon fruit\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>I give this a 0\\\/10 because it is not a dragon.<\\\/p><\\\/div><\\\/div><\\\/div><hr \\\/><div><h2>Checkboxes as Controller<\\\/h2><p><label><span class=\\\"label\\\">Favorite Drink<br \\\/><small>Check all that may apply<\\\/small><\\\/span>[checkbox_controller drinks use_label_element \\\"hot | Hot Drinks\\\" \\\"iced | Iced Drinks\\\" \\\"frozen | Frozen Drinks\\\"]<\\\/label><\\\/p><div><p><strong>Content below me will change based on your chosen drink(s)!<\\\/strong><\\\/p><div data-controller=\\\"drinks\\\" data-values=\\\"hot|frozen\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>(Hot Drinks OR Frozen Drinks) I like both hot and frozen, no chewing for me thanks!<\\\/p><\\\/div><div data-controller=\\\"drinks\\\" data-values=\\\"hot\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>(Hot Drinks Only) Snuggly and warm!<\\\/p><div data-controller=\\\"drinks\\\" data-values=\\\"iced\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>(Hot Drinks AND Iced Drinks) <em>A Song of Ice &amp; Fire<\\\/em><\\\/p><div data-controller=\\\"drinks\\\" data-values=\\\"iced\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>(Hot Drinks AND Iced Drinks AND Frozen Drinks) The golden ticket!<\\\/p><\\\/div><\\\/div><\\\/div><div data-controller=\\\"drinks\\\" data-values=\\\"iced|frozen\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>(Iced Drinks OR Frozen Drinks) Only iced and frozen for me!<\\\/p><\\\/div><div data-controller=\\\"drinks\\\" data-values=\\\"frozen\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>(Iced Drinks Only) Her eyes were as blue as ice.<\\\/p><\\\/div><div data-controller=\\\"drinks\\\" data-values=\\\"hot|iced\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>(Hot Drinks OR Iced Drinks) Sports med pack.<\\\/p><\\\/div><div data-controller=\\\"drinks\\\" data-values=\\\"frozen\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>(Frozen Drinks Only) Honey, where is my supersuit?<\\\/p><\\\/div><div data-controller=\\\"drinks\\\" data-values=\\\"FALSEY\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>I hate everything equally.<\\\/p><\\\/div><\\\/div><\\\/div><hr \\\/><div><h2>Radio buttons as Controller<\\\/h2><p><label><span class=\\\"label\\\">RPG Role:<\\\/span>&nbsp;[radio_controller rpg use_label_element \\\"tank | Tank\\\" \\\"healer | Healer\\\" \\\"damage-dealer | Damage Dealer\\\"]<\\\/label><\\\/p><div><p><strong>Content below me will change based on your role!<\\\/strong><\\\/p><div data-controller=\\\"rpg\\\" data-values=\\\"tank\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>&quot;Give me everything you got!&quot;&mdash;Sir Knight<\\\/p><\\\/div><div data-controller=\\\"rpg\\\" data-values=\\\"healer\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>&quot;I got \\\\'chu fam&quot;&mdash;Cleric<\\\/p><\\\/div><div data-controller=\\\"rpg\\\" data-values=\\\"damage-dealer\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>&quot;<em>YEET!<\\\/em>&quot;&mdash;Glass Cannon<\\\/p><\\\/div><\\\/div><\\\/div><div><h2>Number Spinbox as Controller<\\\/h2><p><label><span class=\\\"label\\\">What is your annual gross income?<\\\/span>&nbsp;[number_controller us_tax_bracket min:0 step:1000 \\\"50000\\\"]<\\\/label><\\\/p><div><p><strong>Content below me will change based on your numeric answer above.<\\\/strong><\\\/p><div data-controller=\\\"tax-bracket\\\" data-values=\\\"<=30000\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>Based on your income, you fall in the <strong>lower class<\\\/strong> in the USA. This is the lowest class and you have four classes above you.<\\\/p><\\\/div><div data-controller=\\\"tax-bracket\\\" data-values=\\\"<=58020\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>Based on your income, you fall in the <strong>lower-middle class<\\\/strong> in the USA. You have one class below you and three classes above you.<\\\/p><\\\/div><div data-controller=\\\"tax-bracket\\\" data-values=\\\"<=94000\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>Based on your income, you fall in the <strong>middle class<\\\/strong> in the USA. You have two classes below you and two classes above you.<\\\/p><\\\/div><div data-controller=\\\"tax-bracket\\\" data-values=\\\"<=153000\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>Based on your income, you fall in the <strong>upper-middle class<\\\/strong> in the USA. You have three classes below you and one class above you.<\\\/p><\\\/div><div data-controller=\\\"tax-bracket\\\" data-values=\\\">153000\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p>Based on your income, you fall in the <strong>upper class<\\\/strong> in the USA. This is the highest class and you have four classes below you.<\\\/p><\\\/div><\\\/div><\\\/div><div><h2>Number Range as Controller<\\\/h2><p><label><span class=\\\"label\\\">Which is your favorite color in the rainbow?<\\\/span>&nbsp;[range_controller rainbow min:0 max:100 step:1 \\\"1\\\"]<\\\/label><\\\/p><div><p><strong>Content below me will change based on your slider above.<\\\/strong><\\\/p><div data-controller=\\\"rainbow\\\" data-values=\\\"14--\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p style=\\\"font-weight:700;text-transform:uppercase;color:red\\\">Red<\\\/p><\\\/div><div data-controller=\\\"rainbow\\\" data-values=\\\"15-28\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p style=\\\"font-weight:700;text-transform:uppercase;color:orange\\\">Orange<\\\/p><\\\/div><div data-controller=\\\"rainbow\\\" data-values=\\\"29-42\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p style=\\\"font-weight:700;text-transform:uppercase;color:yellow\\\">Yellow<\\\/p><\\\/div><div data-controller=\\\"rainbow\\\" data-values=\\\"43-56\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p style=\\\"font-weight:700;text-transform:uppercase;color:green\\\">Green<\\\/p><\\\/div><div data-controller=\\\"rainbow\\\" data-values=\\\"57-70\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p style=\\\"font-weight:700;text-transform:uppercase;color:blue\\\">Blue<\\\/p><\\\/div><div data-controller=\\\"rainbow\\\" data-values=\\\"71-84\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p style=\\\"font-weight:700;text-transform:uppercase;color:indigo\\\">Indigo<\\\/p><\\\/div><div data-controller=\\\"rainbow\\\" data-values=\\\"--84\\\" class=\\\"au-cf7-hidden-by-controller\\\"><p style=\\\"font-weight:700;text-transform:uppercase;color:violet\\\">Violet<\\\/p><\\\/div><\\\/div><\\\/div>','_mail'=>array(),'_mail2'=>array(),'_messages'=>array(),'_additional_settings'=>'demo_mode: on' . PHP_EOL . 'skip_mail: on','_locale'=>'en_US','_hash'=>'d3m0Form')));\"}]}"}},"all_blocks":[],"tagged_versions":["1.0.2","1.1.0","1.1.1","2.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"A screenshot of the four (4) new buttons added in the Contact Form 7 form edit screen.","2":"Form-tag generator for the select controller","3":"Form-tag generator for the checkbox controller","4":"Form-tag generator for the radio controller","5":"Form-tag generator for the controlled form tag wrapper","6":"Example of a select controller field configured to control a text field in the form edit screen","7":"Animated GIF example of the user selecting the option in the select controller field to hide and show the text field"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[4060,1152,1506,451,231243],"plugin_category":[42],"plugin_contributors":[172264],"plugin_business_model":[],"class_list":["post-173298","plugin","type-plugin","status-publish","hentry","plugin_tags-conditional","plugin_tags-contact-form-7","plugin_tags-dynamic","plugin_tags-interactive","plugin_tags-user-based","plugin_category-contact-forms","plugin_contributors-tessawatkinsllc","plugin_committers-tessawatkinsllc"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/controller-fields-for-contact-form-7\/assets\/icon-128x128.png?rev=3071694","icon_2x":"https:\/\/ps.w.org\/controller-fields-for-contact-form-7\/assets\/icon-256x256.png?rev=3071694","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Contact Form 7 is an excellent WordPress plugin and one of the top choices of free WordPress plugins for contact forms. Controller Fields makes it even more awesome by adding dynamic content capabilities. This plugin provides new form tags for select fields, checkboxes, and radio buttons so you can use them to control the display of other fields and content. Some examples might include:<\/p>\n\n<ul>\n<li>Hiding or revealing additional form fields based the current value in a dropdown<\/li>\n<li>Hiding or revealing content when users click a checkbox<\/li>\n<li>Hiding or revealing information based on which radio button is currently selected<\/li>\n<li>Controllers and controlled fields can be nested<\/li>\n<\/ul>\n\n<p>The possibilities are endless!<\/p>\n\n<h4>View Demo<\/h4>\n\n<p><a href=\"https:\/\/wordpress.org\/plugins\/controller-fields-for-contact-form-7\/?preview=1\">Preview this plugin<\/a> in the WordPress Playground, a sandbox environment where you can explore the features of this plugin, both in the WordPress backend as an admin user and on the frontend.<\/p>\n\n<h4>WHAT DOES IT DO?<\/h4>\n\n<p>This plugin creates three (3) new form tags for controlling the appearance of other form tags (aka \"controller\") and a special form tag generator button to output the HTML needed to wrap the controllable form tags inside.<\/p>\n\n<h4>HOW TO USE IT<\/h4>\n\n<p>After installing and activating the plugin, you will have four (4) new buttons at the top when creating or editing a Contact Form 7 form: select controller, checkbox controller, radio controller, and controlled form tag wrapper. Most of the options in their tag generators will be familiar to Contact Form 7 users but there have been some upgrades.<\/p>\n\n<p><strong>Id Attribute<\/strong><\/p>\n\n<p>The frontend script relies on unique IDs for the controller form tags, so be sure to always set one!<\/p>\n\n<p><strong>Options<\/strong><\/p>\n\n<p>There are three (3) ways you can define your options. The first method is simply typing your options with each one on a new line, e.g.:<\/p>\n\n<pre>Apples\nBananas\nDragonfruit<\/pre>\n\n<p>The second method is similar, but it allows you more control over the value and label by using <code>|<\/code> to separate them, e.g.:<\/p>\n\n<pre>fruit_1 | Apples\nfruit_2 | Bananas\nfruit_3 | Dragonfruit<\/pre>\n\n<p>The third method is dynamic in that you can use a shortcode to populate your options with two important provisions:<\/p>\n\n<ol>\n<li>The shortcode should NOT include the normal square brackets (<code>[<\/code> and <code>]<\/code>). So, instead of <code>[my_shortcode key='value']<\/code> you would use <code>my_shortcode key='value'<\/code>.<\/li>\n<li>Any parameters in the shortcode must use single quotes. That is: <code>my_shortcode key='value'<\/code> and not <code>my_shortcode key=\"value\"<\/code><\/li>\n<\/ol>\n\n<p>Shortcodes used here should return a string value with the option or option group HTML.<\/p>\n\n<p><strong>Default value<\/strong><\/p>\n\n<p>This field can take static text or a shortcode. If using a shortcode, the same syntax applies from the options field. However, this field also has a few more needs:<\/p>\n\n<ol>\n<li>The text\/shortcode must first have apostrophes converted to it's HTML entity code, <code>&#039;<\/code><\/li>\n<li>After that, it must be URL encoded so that spaces become <code>%20<\/code> and other non-alphanumeric characters are converted.<\/li>\n<\/ol>\n\n<p><strong>Placeholder<\/strong><\/p>\n\n<p>Only available for the select controller form tag, this field can take static text or a shortcode.  If using a shortcode, the same syntax applies from the options field. However, this field also has a few more needs:<\/p>\n\n<ol>\n<li>The text\/shortcode must first have apostrophes converted to it's HTML entity code, <code>&#039;<\/code><\/li>\n<li>After that, it must be URL encoded so that spaces become <code>%20<\/code> and other non-alphanumeric characters are converted.<\/li>\n<\/ol>\n\n<p><strong>Read Only Attribute<\/strong><\/p>\n\n<p>Simply check this box if you do not want to let users edit this field. It will add the <code>readonly<\/code> attribute to your form field.<\/p>\n\n<p><strong>Disabled Attribute<\/strong><\/p>\n\n<p>Simply check this box if you do not want to submit this field in the form. It will add the <code>disabled<\/code> attribute to your form field.<\/p>\n\n<!--section=installation-->\n<h4>Minimum Requirements<\/h4>\n\n<p>To ensure your WordPress installation meets these requirements, you can login to your WordPress website and navigate to <em>Tools &gt; Site Health<\/em> and click on the <em>Info<\/em> tab. Expand the <em>WordPress<\/em>, <em>Active Plugins<\/em>, and <em>Server<\/em> accordions and compare that information with the details below.<\/p>\n\n<ul>\n<li>WordPress version 5.5 or greater<\/li>\n<li>PHP version 7.4 or greater<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/contact-form-7\/\">Contact Form 7<\/a> version 5.7 or greater<\/li>\n<\/ul>\n\n<p>There are three (3) ways to install my plugin: automatically, upload, or manually.<\/p>\n\n<h4>Install Method 1: Automatic Installation<\/h4>\n\n<p>Automatic installation is the easiest option as WordPress handles the file transfers itself and you don\u2019t need to leave your web browser.<\/p>\n\n<ol>\n<li>Log in to your WordPress dashboard.<\/li>\n<li>Navigate to <strong>Plugins &gt; Add New<\/strong>.<\/li>\n<li>Where it says \u201cKeyword\u201d in a dropdown, change it to \u201cAuthor\u201d<\/li>\n<li>In the search form, type \u201cTessaWatkinsLLC\u201d (results may begin populating as you type but my plugins will only show when the full name is there)<\/li>\n<li>Once you\u2019ve found my plugin in the search results that appear, click the <strong>Install Now<\/strong> button and wait for the installation process to complete.<\/li>\n<li>Once the installation process is completed, click the <strong>Activate<\/strong> button to activate my plugin.<\/li>\n<\/ol>\n\n<h4>Install Method 2: Upload via WordPress Admin<\/h4>\n\n<p>This method involves is a little more involved. You don\u2019t need to leave your web browser, but you\u2019ll need to download and then upload the files yourself.<\/p>\n\n<ol>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/controller-fields-for-contact-form-7\/\">Download my plugin<\/a> from WordPress.org; it will be in the form of a zip file.<\/li>\n<li>Log in to your WordPress dashboard.<\/li>\n<li>Navigate to <strong>Plugins &gt; Add New<\/strong>.<\/li>\n<li>Click the <strong>Upload Plugin<\/strong> button at the top of the screen.<\/li>\n<li>Select the zip file from your local file system that was downloaded in step 1.<\/li>\n<li>Click the <strong>Install Now<\/strong> button and wait for the installation process to complete.<\/li>\n<li>Once the installation process is completed, click the <strong>Activate<\/strong> button to activate my plugin.<\/li>\n<\/ol>\n\n<h4>Install Method 3: Manual Installation<\/h4>\n\n<p>This method is the most involved as it requires you to be familiar with the process of transferring files using an SFTP client.<\/p>\n\n<ol>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/controller-fields-for-contact-form-7\/\">Download my plugin<\/a> from WordPress.org; it will be in the form of a zip file.<\/li>\n<li>Unzip the contents; you should have a single folder named <code>controller-fields-for-contact-form-7<\/code>.<\/li>\n<li>Connect to your WordPress server with your favorite SFTP client.<\/li>\n<li>Copy the folder from step 2 to the <code>\/wp-content\/plugins\/<\/code> folder in your WordPress directory. Once the folder and all of its files are there, installation is complete.<\/li>\n<li>Now log in to your WordPress dashboard.<\/li>\n<li>Navigate to <strong>Plugins &gt; Installed Plugins<\/strong>. You should now see my plugin in your list.<\/li>\n<li>Click the <strong>Activate<\/strong> button under my plugin to activate it.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<p>Please check out the <a href=\"https:\/\/aurisecreative.com\/docs\/controller-fields-for-contact-form-7\/frequently-asked-questions\/?utm_source=wordpress.org&amp;utm_medium=link&amp;utm_campaign=controller-fields-for-contact-form-7&amp;utm_content=readme\">FAQ on our website<\/a>.<\/p>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<p><strong>Release Date: September 1, 2024<\/strong><\/p>\n\n<ul>\n<li>Major: Refactored admin functionality into class<\/li>\n<li>Feature: Added <code>number_controller<\/code> form tag; use the number text input\/spinbox as a controller.<\/li>\n<li>Feature: Added <code>range_controller<\/code> form tag; use the numeric slider as a controller.<\/li>\n<li>Feature: Updated controlled items to allow multiple controllers for <code>OR<\/code> statements. Use the pipe (<code>|<\/code>) character to separate controllers. If an element has multiple controllers, then there should be a <code>data-{controller ID}-values<\/code> attribute that sets the values for that specific controller instead of the generic <code>data-values<\/code> attribute.<\/li>\n<li>Feature: Updated controlled items to allow for numerical comparison operations. Prefix a number with two dashes to perform less than or equal to comparisons (e.g. <code>--100<\/code>). Suffix a number with two dashes to perform greater than or equal to comparisons (e.g. <code>5--<\/code>). Use a single dash between two numbers to perform an inclusive BETWEEN comparison (e.g. <code>5-100<\/code>).<\/li>\n<li>Feature: Set the controller's value to <code>BLANK<\/code> or <code>EMPTY<\/code> to match only blank or empty values.<\/li>\n<li>Feature: Set the controller's value to <code>*<\/code> to match any truthy value.<\/li>\n<li>Feature: Set the controller's value to <code>EMPTY_OR_ZERO<\/code> or <code>FALSEY<\/code> to match any falsey value.<\/li>\n<li>Feature: Prefix a controlled element's value with <code>!=<\/code> to match everything except that value.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<p><strong>Release Date: April 16, 2024<\/strong><\/p>\n\n<ul>\n<li>Fix: Addressed a bug introduced in version 1.1.0 that prevented frontend assets from loading.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<p><strong>Release Date: April 15, 2024<\/strong><\/p>\n\n<ul>\n<li>Feature: Number fields can now be controllers. They display controlled fields based on number ranges set in the controlled element's values.<\/li>\n<li>Feature: Controlled fields can now have multiple controllers. The <code>data-controller<\/code> value should be a pipe-delimited list of controller IDs. If it has multiple controllers, then there should be a <code>data-{controller ID}-values<\/code> attribute that sets the values for that specific controller. Controlled fields with multiple controllers are only hidden if all controllers evaluate to no matches. Otherwise, it will remain visible. Multiple controllers are treated as an OR comparison, meaning at least one controller must be active for the controlled field to display. Nest them to treat them as an AND operation.<\/li>\n<li>Feature: Values can include operations such as <code>&gt;<\/code>, <code>&gt;=<\/code>, <code>&lt;<\/code>, <code>&lt;=<\/code>, <code>!=<\/code>, <code>*<\/code>, <code>BLANK<\/code>, <code>EMPTY_OR_ZERO<\/code>. The operation <code>=<\/code> is assumed when no comparison is found.<\/li>\n<li>Fix: added <code>!important<\/code> to <code>au-cf7-controller<\/code> CSS to ensure it's hidden in case of conflicting styles.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<p><strong>Release Date: May 5, 2023<\/strong><\/p>\n\n<ul>\n<li>Fix: modifications from plugin review<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<p><strong>Release Date: May 1, 2023<\/strong><\/p>\n\n<ul>\n<li>Fix: modifications from plugin review<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<p><strong>Release Date: March 30, 2023<\/strong><\/p>\n\n<ul>\n<li>Major: first submission!<\/li>\n<\/ul>\n\n<h4>Full Changelog<\/h4>\n\n<p>Please see our <a href=\"https:\/\/plugins.trac.wordpress.org\/browser\/controller-fields-for-contact-form-7\/trunk\/changelog.txt\">additional changelog.txt file<\/a><\/p>","raw_excerpt":"Hide or display content in your forms created in Contact Form 7 based on user selections!","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/173298","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=173298"}],"author":[{"embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tessawatkinsllc"}],"wp:attachment":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=173298"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=173298"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=173298"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=173298"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=173298"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=173298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}