WP Manifestindependent plugin directory
manifest / forms / clubcom-cta

ClubCom CTA

WordPress plugin for unified CTA forms with Telegram and email delivery for Elementor-based sites

by Codex · github.com/saleksei-it/clubcom-cta

0stars
0forks

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/saleksei-it/clubcom-cta/archive/refs/heads/main.zip

Readme

ClubCom CTA

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

Recommended next version

  • 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

Read the full README on GitHub →

Releases

TagPublished
v1.0.16 Jul 30, 2026

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