=== Custom Class Add On Page === Contributors: syedkamruzzaman Author URI: https://syed-kamruzzaman.com/ Plugin URI: https://wordpress.org/plugins/custom-class-add-on-page/ Tags: body class, custom class, page class, woocommerce, custom post type Requires at least: 6.7 Tested up to: 6.8 Stable tag: 1.0.0 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Add safely-prefixed custom classes to Pages, Posts, CPTs, and WooCommerce views—no theme edits required. == Description == Add your own CSS classes to specific Pages, Posts, or Custom Post Types—without editing theme files. Add custom `` classes—safely prefixed—on any Page, Post, CPT, or WooCommerce view (Shop, Cart, Checkout, My Account) with zero theme edits. I created **Custom Class Add On Page** as a simple way to manage `` classes with a safe `ccaop_` prefix. Choose the target (Page, Blog page, Single Post, CPT archive/single, or a specific CPT item), save, and the class is injected via the `body_class` filter. Clean code, lightweight implementation, and solving real problems are the focus. Collaboration and feedback are welcome. **Highlights** - Add classes to: a single Page, the Blog (Posts) page, all Single Posts, CPT Archive, all CPT Singles, or a specific CPT item. - Safe auto-prefix (`ccaop_`) prevents conflicts. - WooCommerce-aware: Shop (product archive), Cart, Checkout, and My Account are supported. - Clean admin UI with a table listing every rule you’ve created (class + location) and a delete action. - Activation redirect: after activation, you’re taken straight to the settings page. - Lightweight: uses the `body_class` filter only—no front-end bloat. * [Need Help?](https://syed-kamruzzaman.com/#contact) * [About Author](https://syed-kamruzzaman.com/) == Video Tutorial == [youtube https://youtu.be/n6D3Ya_6A8o?si=OU_93zwxyfCF8HSU] == ⚡ What you can configure == * Enter a custom class name (auto-saved as `ccaop_{your_class}`). * Choose where to apply it: **Page / Post / Custom Post**. * For **Page** → pick any page (Blog/Posts page is intentionally excluded here; use Post → Blog page). * For **Post** → choose **Blog page (posts index)** or **All single posts**. * For **Custom Post** → choose the CPT and target (**Archive**, **All single**, or **Specific item**). = Usage = 1. Go to **Dashboard → Class Option**. 2. Type your class name (e.g. `hero`, saves as `ccaop_hero`). 3. Select **Page / Post / Custom Post**, then pick the exact target. 4. Click **Save**. Visit the selected view and inspect ``—you’ll see your class. == ⚡ Features == * Ready to use—no coding needed * Auto-prefixed classes to avoid collisions * Page / Post / CPT (archive, single, specific item) targets * WooCommerce Shop, Cart, Checkout, My Account support * Rule list with delete action * Lightweight & fast, theme-agnostic * Works with cached sites (no dynamic output buffering) == WooCommerce Notes == If you select the **Shop** page under *Page*, the plugin detects it as the **product archive** and adds your class on Shop views correctly. Similarly, **Cart**, **Checkout** (including endpoints like order-pay, order-received) and **My Account** are handled. == Installation == = Minimum Requirements = * WordPress 5.8 or greater * PHP 7.2 or greater * MySQL 5.0 or greater = Automatic Installation = 1. In your WordPress dashboard, go to **Plugins → Add New**. 2. Search for **Custom Class Add On Page**. 3. Click **Install Now** and then **Activate**. You’ll be redirected to the settings page. = Manual Installation = 1. Upload the plugin folder to `/wp-content/plugins/`. 2. Activate the plugin from **Plugins** in your dashboard. 3. Go to **Class Option** in the admin menu. = Updating = Automatic updates should work seamlessly. As always, back up your site before updating. == Frequently Asked Questions == = Will this change my site’s HTML structure? = No. It only appends your custom class to the `` element via WordPress’s `body_class` filter. = Can I add multiple rules? = Yes. Add as many mappings (class → location) as you need. Each shows up in the table where you can delete them later. = Why can’t I see the Blog (Posts) page under “Page”? = By design, the Blog page is managed under **Post → Blog page** to avoid confusion with static pages. = Does it support WooCommerce pages? = Yes—Shop (product archive), Cart, Checkout (and its endpoints), and My Account are supported. = Will my class be exactly what I type? = Your input is sanitized and auto-prefixed with `ccaop_` (e.g. `container` → `ccaop_container`) to keep it safe and unique. == Screenshots == 1. Settings screen—add a class and choose where it applies 2. Page/Post/CPT selectors (conditional dropdowns) 3. Rules table with locations and delete action 4. Example: class added to `` on the front end 5. WooCommerce Shop page with custom body class == Changelog == = 1.0.0 = * Initial release: add custom classes to Pages, Posts, and CPTs; WooCommerce-aware; rule list; activation redirect. == Upgrade Notice == N/A