WP Manifestindependent plugin directory
manifest / builders / elementor-flip-card

Elementor Flip Card Widget

A custom Elementor widget that displays a clickable flip card with fully styled front and back faces — headers, body text, colors, typography, border radius, shadow, and card dimensions all controllable from the Elementor panel.

★ 0stars

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/cbanksbluecanopy/elementor-flip-card/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.

A lightweight, zero-dependency WordPress plugin that adds a fully customisable Flip Card widget to Elementor. Click the card to reveal a styled back face — every aspect of both faces is controlled directly from the Elementor panel with no custom CSS required.


Requirements

Requirement Version
WordPress 5.6 or higher
Elementor (free) 3.0 or higher
PHP 7.4 or higher

Installation

Option A — As a Plugin (Recommended)

  1. On your server, navigate to wp-content/plugins/.
  2. Create a new folder named elementor-flip-card.
  3. Place elementor-flip-card.php inside that folder so the path reads:
    wp-content/plugins/elementor-flip-card/elementor-flip-card.php
  4. In your WordPress admin, go to Plugins → Installed Plugins.
  5. Find Elementor Flip Card Widget and click Activate.

Option B — As a Code Snippet

  1. Install a code snippet plugin such as WPCode or Code Snippets.
  2. Create a new snippet, set the type to PHP Snippet.
  3. Paste the entire contents of elementor-flip-card.php into the snippet body.
  4. Save and activate the snippet.

Note: If Elementor is not active when this plugin loads, a dismissible admin notice will appear reminding you to install and activate Elementor first. The widget will register automatically once Elementor is running.


Usage

  1. Open any page or post in the Elementor editor.
  2. In the widget panel, search for "Flip Card" (it lives in the General category).
  3. Drag the widget onto your canvas.
  4. Configure content and styles using the three-tab panel described below.

Controls Reference

Content Tab

Card Settings

Control Type Description
Card Height Slider (px / em / vh) Sets the overall height of the card. Width follows the column it sits in.
Flip Direction Select Horizontal rotates left-to-right; Vertical rotates top-to-bottom.
Show Flip Icon Toggle Displays a subtle ↻ icon in the bottom-right corner as a click hint.

Front Face — Content

Control Type Description
Header Text Text The heading displayed on the front face.
Header HTML Tag Select Choose the semantic tag: H1–H6, p, span, or div.
Body Text WYSIWYG Rich text editor for the front body content.
Icon Icon Picker Optional Elementor icon shown on the front face.
Icon Position Select Place the icon above the header or below the body text.

Back Face — Content

Control Type Description
Header Text Text The heading displayed on the back face.
Header HTML Tag Select Choose the semantic tag: H1–H6, p, span, or div.
Body Text WYSIWYG Rich text editor for the back body content.
Icon Icon Picker Optional Elementor icon shown on the back face.
Icon Position Select Place the icon above the header or below the body text.
Button Text Text Adds an optional CTA button. Leave blank to hide.
Button URL URL Destination link for the button. Supports external and nofollow options. Clicks on the button do not trigger the card flip.

Style Tab

Both the Front Face and Back Face have identical, fully independent style sections.

Background

Control Options Description
Background Type Solid Color / Gradient / Image Switches between the three background modes.
Background Color Color picker Solid fill color (Solid mode).
Gradient Color 1 & 2 Color pickers Start and end colors for the gradient (Gradient mode).
Gradient Angle Slider (0–360°) Direction of the gradient (Gradient mode).
Background Image Media picker Uploads or selects an image from the media library (Image mode).
Image Overlay Color Color picker Semi-transparent color layer over the image for contrast (Image mode).

Layout & Spacing

Control Description
Padding Responsive — controls inner spacing on all four sides (px / em / %).
Text Alignment Left, Center, or Right.
Vertical Alignment Aligns content to the Top, Middle, or Bottom of the face.
Border Radius Rounds the corners of the card face independently (px / %).
Box Shadow Full Elementor box shadow group control (Front face only — applies to the card wrapper).

Header Typography

Control Description
Header Color Text color for the face heading.
Header Typography Full Elementor typography group: font family, size, weight, style, line height, letter spacing, decoration, and transform.

Body Typography

Control Description
Body Color Text color for the face body content.
Body Typography Full Elementor typography group (same options as header).

Icon (shown when an icon is selected)

Control Description
Icon Color Fill/stroke color for the icon.
Icon Size Width and font-size of the icon (px / em).
Icon Spacing Bottom margin between the icon and the header (top position only).

Back Button (shown when Button Text is not empty)

Control Description
Button Background Fill color of the button.
Button Text Color Label color.
Button Padding Responsive inner padding (px / em).
Button Border Radius Corner rounding (px / %).
Button Typography Full Elementor typography group.

How It Works

The flip animation is driven entirely by CSS 3D transforms — no jQuery or heavy libraries. A small vanilla JavaScript listener toggles the class is-flipped on the card wrapper when clicked (or when Enter/Space is pressed for keyboard accessibility). The CSS perspective and rotateY / rotateX properties handle the rest.

All styles are injected as inline CSS via wp_add_inline_style, so no separate stylesheet file is needed and there are no extra HTTP requests.


Accessibility

  • The card wrapper is rendered with role="button" and tabindex="0" so it is reachable and activatable via keyboard.
  • Pressing Enter or Space triggers the flip, matching standard button behaviour.
  • The optional flip icon carries aria-hidden="true" so screen readers ignore it.
  • The back-face button uses a standard <a> tag and stops click propagation so it can be activated independently without re-flipping the card.

Customisation Notes

  • Changing the flip speed — find .efc-flip-card-inner in efc_get_inline_css() and adjust the transition duration (default 0.65s).
  • Starting on the back face — add the class is-flipped to the wrapper via a custom HTML attribute or a small JS snippet after page load.
  • Multiple cards on one page — all instances are independent; each manages its own flipped state.

File Structure

elementor-flip-card/
└── elementor-flip-card.php   ← Everything in one file

All PHP, CSS, and JavaScript lives in the single plugin file. There are no build steps, no node_modules, and no external dependencies beyond Elementor itself.


Changelog

1.0.0

  • Initial release.
  • Front and back face content controls: header, body (WYSIWYG), icon, HTML tag selector.
  • Back face optional CTA button with URL, external link, and nofollow support.
  • Full independent style sections for both faces: solid / gradient / image backgrounds, typography groups, padding, alignment, border radius, box shadow.
  • Horizontal and vertical flip directions.
  • Keyboard-accessible flip interaction.
  • Inline CSS and JS — zero extra HTTP requests.

License

GPL-2.0+ See https://www.gnu.org/licenses/gpl-2.0.html for details.