WP Manifestindependent plugin directory
manifest / content / mrk-dynamic-cta

MRK Dynamic CTA

Cache-safe, randomized Call-to-Action blocks for WordPress. Assign CTAs to any page, multiple pages, or all pages site-wide. Delivered via AJAX so page caches never serve stale content.

by Muhammad Rameez Khalid · github.com/mrksays/mrk-dynamic-cta · website

2stars
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/mrksays/mrk-dynamic-cta/archive/refs/heads/main.zip

Cache-safe, randomized Call-to-Action blocks for WordPress. Assign CTAs to any page, multiple pages, or all pages site-wide. Delivered via AJAX so page caches never serve stale content.

Author: Muhammad Rameez Khalid
Version: 1.1.0
License: GPL v2 or later
Requires: WordPress 6.0+, PHP 8.0+


Features

  • Custom post type (CTAs) with quick edit, bulk edit, and admin list filter
  • Show CTA For — target any individual page(s), all pages site-wide, custom post type archives, or the blog
  • Page picker with live search, Select All, and Clear All shortcuts
  • Cache-safe AJAX delivery via nocache_headers()
  • Random CTA rotation — multiple matching CTAs are shuffled per load
  • Global style panel (CTAs → CTA Styles) with live preview
  • Shortcode [dynamic_cta]

Installation

  1. Download the latest release zip from Releases
  2. Upload the MRK-Dynamic-CTA folder to /wp-content/plugins/
  3. Activate from WordPress Admin → Plugins
  4. Go to CTAs → CTA Styles to configure appearance

Shortcode

[dynamic_cta]

Place in any sidebar widget, block editor, or PHP template.


Show CTA For — Target Types

Target Meta Value Matches When
All Pages (entire website) all_pages Every page, post, and archive on the site
Individual WordPress Page page_{ID} Only that specific page by post ID
Blog / Posts Page blog The posts page and individual post singles
Custom Post Type Archive cpt_{slug} That CPT's archive and singular views

File Structure

MRK-Dynamic-CTA/
├── mrk-dynamic-cta.php          ← Bootstrap
├── includes/
│   ├── cpt.php                  ← Custom post type
│   ├── meta-box.php             ← CTA Details + Show CTA For UI
│   ├── save.php                 ← Options + save handler
│   ├── ajax.php                 ← AJAX CTA renderer
│   ├── shortcode.php            ← [dynamic_cta]
│   ├── frontend-scripts.php     ← Enqueue CSS/JS
│   ├── admin-columns.php        ← List table column + filter
│   ├── quick-edit.php           ← Quick edit UI
│   ├── bulk-edit.php            ← Bulk edit UI + save
│   └── settings.php             ← CTA Styles page
├── js/cta-ajax.js
├── css/cta-style.css
├── admin/settings.js
└── README.md

License

GPL v2 or later