WP Manifestindependent plugin directory
manifest / forms / clubcom-cta

ClubCom CTA

WordPress CTA forms for Elementor with Telegram, email, and Cloudflare Turnstile spam protection.

★ 0stars
v1.0.16latest · 2mo ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/saleksei-it/clubcom-cta/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WordPress plugin for unified CTA handling on Elementor-based sites.

It gives you one central system for CTA buttons, popup forms, embedded contact forms, Telegram delivery, email delivery, and SMTP-based outgoing email.

Current version: 1.1.0

Repository: https://github.com/Saleksei-it/clubcom-cta

Main idea

The plugin is built around CTA IDs.

Each CTA button on the site points to an anchor like:

#cta-business-audio

Frontend JavaScript catches that click, opens a modal form, loads the matching CTA title and helper text, and sends the request through AJAX.

Each CTA scenario has its own:

  • ID
  • button label
  • form title
  • helper text above the form
  • success message

This lets you keep button placement in Elementor while keeping all form logic in one plugin.

Features

  • Popup CTA modal for buttons across the site
  • Embedded contact form via shortcode
  • Separate text and success message for each CTA
  • Telegram delivery
  • Email delivery
  • SMTP configuration in admin
  • Messenger links shown after successful submission
  • Test delivery button in admin
  • Honeypot, minimum-delay, and IP rate-limit anti-spam checks

Requirements

  • WordPress 6.0 or newer
  • PHP 7.4 or newer
  • Elementor-based frontend

Installation

  1. Copy the plugin folder to:

/wp-content/plugins/clubcom-cta/

  1. Activate the plugin in WordPress admin.

  2. Open:

Settings -> ClubCom CTA

  1. Fill in delivery settings:
  • Telegram bot token
  • Telegram chat ID
  • owner email
  • SMTP settings if email should go through SMTP
  1. Add CTA buttons in Elementor using anchors like:

#cta-business-audio

Quick start

Example CTA button in Elementor:

  • button text: Отримати прорахунок
  • link: #cta-business-audio

The visitor clicks the button.

The plugin opens a popup form.

After submit, the request is delivered to Telegram and or email depending on settings.

Embedded contact form

Use this shortcode inside an Elementor Shortcode widget:

[clubcom_cta_form id="contact-main-form"]

The embedded form includes:

  • name
  • email
  • phone
  • message

It uses the same AJAX and delivery logic as popup CTAs.

Admin settings

The plugin stores everything in one WordPress option:

clubcom_cta_options

Admin page location:

Settings -> ClubCom CTA

Editable settings include:

  • Telegram enabled
  • Email enabled
  • Telegram bot token
  • Telegram chat ID
  • Owner email
  • SMTP enabled
  • SMTP host
  • SMTP port
  • SMTP encryption
  • SMTP auth
  • SMTP username
  • SMTP password
  • SMTP from email
  • SMTP from name
  • Viber URL
  • Telegram URL
  • WhatsApp URL
  • Embedded contact form content
  • CTA item list

Default CTA IDs

The current plugin ships with these CTA IDs:

  • cta-business-audio
  • cta-home-audio
  • cta-stage-lighting
  • cta-conference
  • cta-installation-estimate
  • cta-brand-selection
  • cta-service-diagnostics
  • cta-project-request
  • cta-similar-project
  • contact-main-form

Data sent with each request

User-facing fields:

  • name
  • phone
  • email for embedded contact form
  • message

Service data:

  • request number
  • submitted time
  • CTA ID
  • CTA label
  • form title
  • page title
  • page URL
  • referer
  • user agent
  • IP address

Delivery flow

On submit the plugin:

  1. validates nonce
  2. validates required fields
  3. checks anti-spam fields
  4. creates a request number
  5. prepares payload
  6. sends to Telegram if enabled
  7. sends to email if enabled
  8. returns CTA-specific success text

If no delivery channel is enabled, the request is rejected.

Plugin structure

Main bootstrap:

  • clubcom-cta.php

Core classes:

  • includes/class-clubcom-cta-plugin.php
  • includes/class-clubcom-cta-settings.php
  • includes/class-clubcom-cta-admin.php
  • includes/class-clubcom-cta-frontend.php
  • includes/class-clubcom-cta-ajax.php

Assets:

  • assets/css/admin.css
  • assets/css/frontend.css
  • assets/js/admin.js
  • assets/js/frontend.js

AJAX actions

Frontend submit:

  • clubcom_cta_submit

Admin save settings:

  • clubcom_cta_save_settings

Admin test delivery:

  • clubcom_cta_test_delivery

Security

  • WordPress nonces for frontend and admin requests
  • capability check for admin actions
  • honeypot field
  • minimum render time check
  • rate limit of five submissions per IP in ten minutes
  • field sanitization before delivery
  • TLS certificate verification for SMTP
  • generic public errors without delivery internals
  • duplicate CTA-ID validation

Notes

  • The plugin is designed for WordPress and Elementor sites.
  • CTA button placement is managed in Elementor, not inside the plugin.
  • Delivery logic is centralized in the plugin.
  • The plugin uses the standard WordPress AJAX endpoint, not a custom REST route.

Current limitations

  • CTA button mapping is still manual in Elementor
  • No submission log in admin yet
  • No database storage for leads yet
  • No retry queue for failed deliveries yet
  • No per-CTA custom field schema yet
  • delivery logs in admin
  • saved submissions in database
  • per-CTA field schema
  • per-CTA channel rules
  • export of submissions
  • retry queue for failed deliveries
  • cleaner button-to-CTA mapping UI

License

GPL-2.0-or-later

Releases

1 release.

Tag
Published
v1.0.16 latest
Jul 30, 2026 2mo ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.