=== Card Elements for WPBakery ===
Contributors: techeshta, alkesh7, vastarpara, hadihirpara
Tags: wpbakery, card layout, profile card, testimonial card, post card
Requires at least: 4.4
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 1.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Transform your WPBakery pages instantly with stunning card layouts — profile cards, testimonials, and post grids. No coding required.

== Description ==

**Card Elements for WPBakery** gives you a library of beautifully designed card widgets that plug straight into the WPBakery Page Builder drag-and-drop editor. Pick a card style, drop it onto your page, fill in your content, and you're done.

Whether you're building a team page, a client reviews section, or a blog post grid, Card Elements has a card style that fits — and every style is fully customisable with colour pickers, font controls, spacing options, and hover animations directly inside the WPBakery editor. Zero code, zero CSS knowledge needed.

> **Works only with [WPBakery Page Builder](https://wpbakery.com) (v5.0 or above).** WPBakery is a premium plugin sold separately.

= Why Choose Card Elements for WPBakery? =

* **Instant visual results** — drag a card widget onto the canvas and see a live preview in seconds.
* **Pixel-perfect control** — adjust colours, fonts, spacing, border radius, and hover animations through point-and-click controls, not code.
* **Multiple ready-made card styles** — each widget ships with several distinct design options so you're never locked into one look.
* **Lightweight & fast** — no bloated frameworks; only the CSS your active card styles actually need is loaded.
* **Beginner to developer friendly** — simple enough for first-time WordPress users, flexible enough for experienced developers.
* **Actively maintained** — regularly tested against new WordPress releases, with security and compatibility updates delivered promptly.

---

= 🃏 Profile Card =

Showcase your team, freelancers, contributors, or any group of people with polished profile cards. Each card supports:

* Profile photo and background image
* Name, job title, and biography
* Social media icons (Facebook, Twitter, Google+, WordPress) with links
* Full colour control — card background, text, social icon and hover colours
* Icon hover animations (Grow, Shrink, Pulse, Rotate, Float, Wobble, Buzz, and more)
* 6 unique card styles — pick the one that matches your brand

**Perfect for:** Team pages, About Us sections, speaker listings, author bios, freelancer portfolios.

---

= 💬 Testimonial Card =

Turn customer reviews into trust-building social proof with eye-catching testimonial cards. Each card supports:

* Customer photo, name, and position
* Review text with full typography control (font family, size, colour, alignment)
* Card background colour
* 3 distinct layout styles

**Perfect for:** Client reviews, case study pages, product testimonials, service page credibility sections.

---

= 📰 Post Card =

Display your blog posts, news, or any WordPress posts in a responsive card grid. Each card supports:

* Featured image with border radius and overlay controls
* Post title with HTML tag selection (H1–H6, div, span, p)
* Excerpt (from content or manual excerpt) with length control
* Meta data — author, date, comments, tags, category
* Read More button with custom text and colour
* Column layout: 1, 2, 3, 4 or 6 columns
* Grid gap and row gap controls
* 3 distinct card styles

**Perfect for:** Blog index pages, news sections, magazine layouts, content hubs.

---

= Full Customisation Controls =

Every card widget exposes a rich set of design options inside the WPBakery editor:

* **Colours** — background, text, icon, hover states — all via colour picker
* **Typography** — Google Fonts integration with font family and style selectors
* **Spacing** — fine-grained margin and padding control per element
* **Alignment** — left, centre, right, or justify for each text element
* **Animations** — 25+ hover animation styles for social icons
* **Design Options tab** — WPBakery's standard margin/padding/border/background panel

---

= Getting Started in 3 Steps =

1. Install and activate **WPBakery Page Builder** (if not already active).
2. Install and activate **Card Elements for WPBakery** from the WordPress plugin directory.
3. Edit any page with WPBakery, look for the **Card Elements** category in the element picker, and drag your first card onto the canvas.

---

= Technical Support =

Found a bug or have a feature request? Open a thread on the [Support Forum](https://wordpress.org/support/plugin/card-elements-for-wpbakery/) and we'll respond promptly. You can also [contact us directly](https://www.techeshta.com/contact-us/?utm_medium=wp.org&utm_source=wordpressorg&utm_campaign=readme&utm_content=techeshta).

= Love the Plugin? =

If Card Elements for WPBakery is saving you time, please consider leaving a ⭐⭐⭐⭐⭐ review on [WordPress.org](https://wordpress.org/support/plugin/card-elements-for-wpbakery/reviews/?rate=5#new-post). It helps other WordPress users discover the plugin and motivates us to keep improving it. Thank you!

== Installation ==

**Option 1 — Install from the WordPress Dashboard (Recommended)**

1. Log into your WordPress admin and go to **Plugins → Add New**.
2. Search for **Card Elements for WPBakery**.
3. Click **Install Now** on the plugin card, then click **Activate**.

**Option 2 — Manual Upload**

1. Download the plugin zip from [WordPress.org](https://wordpress.org/plugins/card-elements-for-wpbakery/).
2. Go to **Plugins → Add New → Upload Plugin**.
3. Choose the downloaded zip and click **Install Now**, then **Activate**.

**Option 3 — FTP / SFTP**

1. Unzip the downloaded file.
2. Upload the `card-elements-for-wpbakery` folder to `/wp-content/plugins/`.
3. Activate the plugin from the **Plugins** screen in your WordPress admin.

> **Requirement:** WPBakery Page Builder v5.0 or higher must be installed and activated before Card Elements widgets will appear in the editor.

== Frequently Asked Questions ==

= Does this plugin work without WPBakery? =

No. Card Elements for WPBakery is an add-on for [WPBakery Page Builder](https://wpbakery.com) and requires it to function. If WPBakery is not installed or activated, the plugin will display an admin notice with instructions.

= Which version of WPBakery is required? =

WPBakery Page Builder version 5.0 or higher. If your version is older, the plugin will display an update notice in the WordPress admin.

= Can I add multiple card widgets to the same page? =

Yes — add as many cards as you like on a single page. Each instance is fully independent with its own style settings, so you can mix and match card types and styles on the same page.

= Can I use a different card style for each card on the same page? =

Absolutely. Each card widget has a **Card Style** dropdown so you can choose a completely different design per instance. Mix a profile card style 1 with profile card style 3 on the same page if you like.

= Can I change the colours, fonts, and spacing? =

Yes — every visual aspect (colours, Google Fonts, font size, spacing, border radius, hover effects) is controllable through the WPBakery element settings panel. No CSS or code editing is required.

= Will the plugin slow down my site? =

Card Elements follows WordPress best practices for asset loading. Stylesheets are registered at a lightweight weight and the plugin does not load any third-party JavaScript frameworks. Google Fonts are only loaded for the font families you actually select.

= Is the plugin translation-ready? =

Yes. All user-facing strings are wrapped in WordPress internationalisation functions and a `.pot` template file is included in the `languages` folder. You can translate the plugin using Loco Translate, WPML, or any compatible translation tool.

= Where can I request a new card style or feature? =

Post your idea on the [Support Forum](https://wordpress.org/support/plugin/card-elements-for-wpbakery/) or [contact us](https://www.techeshta.com/contact-us/?utm_medium=wp.org&utm_source=wordpressorg&utm_campaign=readme&utm_content=techeshta). We review all requests and prioritise the most popular ones for upcoming releases.

= Is the plugin compatible with PHP 8? =

Yes. The plugin requires PHP 8.0 or higher and is tested against the latest PHP releases.

== Screenshots ==

1. **Profile Card — Style 1** — Clean card with profile photo, bio text, name, title, and animated social icons.
2. **Profile Card — Style 3** — Bold overlay design with name and position displayed over the profile image.
3. **Testimonial Card — Style 1** — Quote card with customer photo, review text, name, and position.
4. **Post Card — Style 1** — Classic blog card with featured image, date badge, category tag, title, and excerpt.
5. **Post Card — Style 2** — Horizontal content layout with author avatar, date, and read more link.

== Changelog ==

= 1.2.0 =
Release date: August 20th, 2026

* [New] Added a "Categories" filter to the Post Card element so each instance can show posts from one or more selected categories instead of always querying every category
* [Security] Whitelisted the `cewb_post_title_html_tag` attribute to prevent stored XSS via raw HTML tag injection
* [Updated] Confirmed compatibility with WordPress 7.1 and WPBakery Page Builder 9.0.1

= 1.1.0 =
Release date: June 23rd, 2026

* [New] Confirmed compatibility with WordPress 7.0
* [Security] Replaced `extract()` with explicit variable assignments across all shortcode functions (WPCS compliance)
* [Security] Escaped `$cewb_post_read_more_text` and `$cewb_post_layout_content_read_more_color` outputs to prevent XSS
* [Security] Replaced bare `the_title()` calls inside anchor and heading tags with `esc_html( get_the_title() )` in all post card templates
* [Fix] Missing `echo` on design options style attribute — Design Options CSS is now correctly applied on the frontend
* [Fix] `$cewb_post_columns` variable was immediately overwritten after being set, causing columns to never apply — resolved
* [Fix] `posts_per_page` query argument is now cast with `absint()` to ensure integer type safety
* [Fix] Duplicate `dependency` array keys in VCMap field definitions consolidated — first dependency was silently discarded by PHP
* [Fix] Removed invalid `defined('card-elements-for-wpbakery')` constant check (hyphens are not valid in PHP constant names)
* [Fix] `add_filter()` replaced with `add_action()` for `init` and `vc_after_init` hooks in iconpicker support
* [Fix] Duplicate script handle registration guarded with `wp_script_is()` check to prevent conflicts
* [Improvement] All protocol-relative `//fonts.googleapis.com` URLs updated to `https://` across all card templates
* [Improvement] FontAwesome 4 icon classes (`fa fa-clock-o`, `fa fa-tags`, `fa fa-comments`) updated to FontAwesome 5 (`fas fa-*`)
* [Improvement] Style version numbers corrected from float `1.0` to string `'1.0'`; media parameter corrected from `false` to `'all'`
* [Improvement] `Domain Path` header added to main plugin file
* [Improvement] Outdated `// WPCS: XSS OK.` suppression comments replaced with explicit `wp_kses_post()` wrapping
* [Improvement] Redundant double-escaping `esc_attr( esc_url() )` simplified to `esc_url()` in testimonial card template

= 1.0.9 =
Release date: April 20th, 2026

* [Updated] Latest WordPress 6.9 compatibility check
* [Security] Fixed cross-site scripting (XSS) vulnerability
* [Improvement] Overall plugin security

= 1.0.8 =
Release date: April 22nd, 2025

* [Updated] Latest WordPress 6.8 compatibility check

= 1.0.7 =
Release date: November 22nd, 2024

* [Updated] Latest WordPress 6.7 compatibility check

= 1.0.6 =
Release date: July 26th, 2024

* [Updated] Latest WordPress 6.6 compatibility check

= 1.0.5 =
Release Date: April 12th, 2024

* [Updated] Latest WordPress 6.5.2 compatibility check
* [Fix] Security, performance, and accessibility issues

= 1.0.4 =
Release Date: October 5th, 2023

* [Updated] Latest WordPress 6.3.1 compatibility check

= 1.0.3 =
Release Date: December 8th, 2022

* [Updated] Latest WordPress 6.1 compatibility check

= 1.0.2 =
Release Date: May 25th, 2022

* [Updated] Latest WordPress 6.0 compatibility check

= 1.0.1 =
Release Date: January 19th, 2022

* [Fix] Social icons not being hidden when toggled off

= 1.0.0 =
Release Date: August 10th, 2021

* Initial release

== Upgrade Notice ==

= 1.1.0 =
Important security and compatibility update. Fixes XSS vulnerabilities, a broken column layout bug, and Design Options CSS not applying on the frontend. All users are strongly encouraged to upgrade. Tested with WordPress 7.0.
