Wrapper Link for Elementor: Make the Whole Card Clickable, Not Just the Button

October 20, 2026
·
Shahidul Islam
Wrapper link extension making an entire Elementor card clickable

A visitor sees a card. Image, heading, two lines of description, a small Read More link at the bottom. They click the image. Nothing happens. They click the heading. Nothing happens. They hit the small link, or they give up.

Every person who has used a website expects a card to be one click target. Elementor does not build them that way, because HTML does not allow it cleanly. You cannot wrap a heading, an image and a button in one anchor tag without producing markup that is invalid the moment a link appears inside it.

Wrapper link is a Sky Addons extension that solves the problem the way modern component libraries do. It marks the element as a click target with a data attribute, and lets JavaScript do the navigation. No nested anchors, no invalid markup, and it applies to any element you can select.

Wrapper link making three news cards clickable in Elementor
Three news cards where the image, heading and summary all open the same story

Where wrapper link fits

  • Blog and news grids. The whole post card goes to the post, the way every reader already expects.
  • Product tiles. Image, title and price all lead to the product page.
  • Service cards. A grid of six services where each card is one destination.
  • Team profiles. A portrait and a name that open the full biography.
  • Category tiles. Large image blocks in a shop, where the visible text is decorative.
  • Portfolio items. Case study cards that open the case study from anywhere on the tile.

Why it beats the usual approach

ApproachWhat goes wrong
A link on just the buttonMost clicks land on the image or the heading and do nothing
Wrapping the card in an anchorInvalid HTML as soon as a link exists inside. Unpredictable in the editor
A transparent overlay boxBlocks hover effects, text selection and any real link underneath
Custom JavaScript per cardA code block to maintain, and it breaks on every template change
Wrapper link extensionOne URL field on the element. Valid markup, and it works on any element type

The features that matter

It appears on every element type. Widgets, sections, columns and containers all get a Wrapper Links panel. On widgets it sits on the Content tab. On sections, columns and containers it sits on the Layout tab. The card, the container around it, or a single widget inside it can each be the click target.

It uses Elementor’s own URL control. That means the link picker, the search for existing content, the open in new window switch and the nofollow switch you already know. It also means dynamic tags, so in a loop template the wrapper link can resolve to each post’s own permalink rather than a fixed URL.

The markup stays valid. The extension writes the link data into a data attribute on the wrapper and adds a class plus a pointer cursor. Nothing is nested inside anything it should not be, which matters in a loop grid where the card already contains a title link and a category link.

It does not force a re-render. The URL control is set to no render type, so changing the link in the editor does not rebuild the element. Editing stays fast on a page with many cards.

Real links inside keep working. Because the card is not wrapped in an anchor, a genuine link within the card still behaves as a link, with its own destination, its own hover state and its own right click menu.

Wrapper link turning four category tiles into click targets
Four category tiles, each one a single click target

How to build it

  1. Build the card exactly as you normally would, including its real Read More link if it has one.
  2. Select the element you want to be clickable. Usually that is the container or the card widget, not an inner heading.
  3. Open Wrapper Links. On a widget it is on the Content tab. On a container, section or column it is on the Layout tab.
  4. Set the URL, or open the dynamic tag menu and choose the post permalink if the card sits in a loop.
  5. Set new window and nofollow if the destination calls for them.
  6. Keep the visible link inside the card. It is what search engines follow, and it is what keyboard users reach.

Why it works

The reason this is an extension rather than a checkbox in Elementor is an HTML rule. An anchor cannot contain another anchor, and it cannot contain most interactive content. A card with a title link and a button is exactly that case, so the whole card cannot legally be one anchor.

Handling the click in JavaScript sidesteps the rule without breaking the document. The wrapper carries the destination as data, the page stays valid, and the visible links inside the card continue to be real links that crawlers follow and that keyboard users can tab to.

Making the whole card clickable is not a visual decision. It is a correction. People have been clicking cards for fifteen years, and a card that ignores the click reads as broken rather than as restrained.

Getting it right

  • Always keep a real link inside the card. This is the important one. The wrapper is driven by JavaScript, so it is not a crawlable link and it is not reachable by keyboard. A visible anchor on the title or a Read More link covers both, and the wrapper becomes a convenience on top of it rather than the only route.
  • Put it on the container, not on every widget. One wrapper link on the card container is clearer than four on its children, and it avoids two handlers fighting over the same click.
  • Use dynamic tags in loops. A fixed URL on a loop template sends every card to the same place. The post URL dynamic tag is what you want.
  • Do not use it for phone or SMS links. The URL is escaped for safety, which strips the tel and sms protocols. Use a normal button for those.
  • Watch out in the editor. The click handler is live on the front end. Preview in a new tab rather than fighting it inside the editor canvas.
Wrapper link on issue cards at desktop and phone width
Issue cards on desktop and on a phone, where the whole card is the tap target

What else it can carry

Anything selectable. A whole pricing column that opens the checkout, a statistic tile that opens the report behind it, a logo block that goes to a partner page, a testimonial that links to the full case study, an image strip in a gallery section.

It is also useful on sections. A full width banner with a headline, a subheading and a button becomes one target, which on a phone is the difference between a tappable banner and a small button people miss.

For the rule that makes this necessary, the MDN reference on the anchor element sets out what content an anchor may legally contain, and why the nested case has to be solved another way.

It also changes how a grid is built. Once the container carries the link, the inner button becomes a visual affordance rather than the only working target, so it can be smaller, or replaced with an arrow, or dropped entirely on the cards where it adds nothing. Designers usually discover this second: the useful part is not that the card became clickable, it is that the card layout stopped being dictated by where the click had to go.

Wrapper link on a lead story card and on list rows
A lead story card carrying one destination, and list rows where the row is the link

Wrapper link: common questions

Is wrapper link free?

Yes. It ships in the free Sky Addons plugin and works on widgets, sections, columns and containers. See free versus Pro for what the licence changes elsewhere.

Does it need another plugin?

No. Elementor and Sky Addons are enough.

Will it slow the page down?

Barely. It adds one data attribute and a class to the element, and the click handler is part of the plugin’s shared script. There is no per card library.

Does it work on mobile?

Yes. A tap anywhere on the element follows the link, which is where it helps most, since small buttons are the hardest thing to hit on a phone.

Is it good for SEO?

The wrapper itself is not a crawlable link, because search engines do not follow a JavaScript click handler. That is why the guidance above is to keep a real link inside the card. Do that and the page has a proper link for crawlers and a large click target for people.

The short version

Wrapper link turns any Elementor widget, section, column or container into a single click target using a data attribute and a click handler, instead of nesting an anchor where HTML does not allow one. It uses Elementor’s own URL control, supports dynamic tags for loops, and leaves real links inside the card working normally.

Build it

Try it on the wrapper link demo, then read the wrapper link documentation for the control detail. Cards that link often want cards that line up, which is equal height, and cards that react, which is tilt effect. Licences are on pricing.

Written by
Shahidul Islam
Writes about the work behind the widgets — what shipped, why, and what it cost.
Share
In this post

More from the journal

Wrapper Link for Elementor: Make the Whole Card Clickable, Not Just the Button

Wrapper Link for Elementor: Make the Whole Card Clickable, Not Just the Button

Wrapper link makes a whole Elementor card, section, column or container clickable, without nesting invalid HTML or writing a single line of code.
Custom Clip Path for Elementor: Cut Images Into Any Shape and Morph Them on Hover

Custom Clip Path for Elementor: Cut Images Into Any Shape and Morph Them on Hover

Custom clip path cuts Elementor images into 26 ready shapes, with a second shape on hover and a transition that morphs between them. No CSS needed.
Backdrop Filter for Elementor: Real Frosted Glass Without a Line of CSS

Backdrop Filter for Elementor: Real Frosted Glass Without a Line of CSS

Backdrop filter brings frosted glass to Elementor. Nine filter controls, a hover state, and an automatic overlay mode on any section or widget.

Comments are closed.