Search by

kasparsd / contact-form-7-extras

kasparsd

Simple controls for some of the advanced Contact Form 7 plugin functionality.

Package info

github.com/kasparsd/contact-form-7-extras

Homepage

Documentation

Type:wordpress-plugin

pkg:composer/kasparsd/contact-form-7-extras

Statistics

Installs: 96

Dependents: 0

Suggesters: 0

Stars: 19

Open Issues: 7

0.10.1 2026-10-29 14:13 UTC

README

Lint and Test

Source of the Contact Form 7 Controls plugin for WordPress.

🚀 Get PRO

Support the continued development of this plugin by pre-ordering the PRO version that will include advanced analytics and tracking features. Learn more →

Install

Search for "Contact Form 7 Controls" under "Plugins → Add New" in your WordPress dashboard.

Install as a Composer dependancy:

composer require kasparsd/contact-form-7-extras

Contribute

We use Composer for managing PHP development dependencies while Node.js is used for most scripting needs, building the plugin release and deploying to WP.org via @wpelevator/wp-release with changesets-driven release pull requests.

  1. Clone the plugin repository:

    git clone https://github.com/kasparsd/contact-form-7-extras.git
    
  2. Setup the development environment and tools:

    npm install
    composer install
    
  3. Build a release ZIP of the plugin:

    npm run zip
    

Screenshot

Contact Form 7 Controls

Sample Analytics Scripts

Note: all scripts use a fake account ID abc123.

Google Tag Manager (GTM):

<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-abc123');</script>

Google Analytics 4 (gtag.js):

<script async src="https://www.googletagmanager.com/gtag/js?id=G-abc123"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-abc123');
</script>

Facebook Pixel:

<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', 'abc123');
</script>