Skip to main content

Is the Animated Heading shortcode redundant now that the Animation Engine has text effects?

· 3 min read
Jon-Michael Lastimosa
Senior Web Developer

The question: The Animation Engine → Text Effects module already ships rotating_words and typewriter (among ~40 effects) that can be applied to any text element. Does the standalone animated_heading shortcode still earn its place, or should it be deprecated in favor of "special_heading + a text effect"?

Context

animated_heading is a purpose-built rotating headline: before-text + rotating words + after-text, with 6 rotation styles, a word-highlight, speed and colors — ~86 lines of self-contained JS, no dependency. The Animation Engine's Text Effects cover the same two concepts (typewriter, rotating words) plus 38 more, applied to any element's own text via a text_effect option. On paper that's duplication.

Options considered

  • Deprecate the shortcode — steer users to special_heading + text_effect: rotating_words. One implementation, but it requires the Animation Engine to be active — and the engine ships inactive by default (opt-in in Extensions). Out-of-box rotating headlines would break.
  • Make the shortcode delegate to the engine when active — a hybrid renderer. Adds a hard dependency branch and loses the no-engine fallback that is the shortcode's whole value; the engine effect also expects the element's own text, not a before/words/after split.
  • Keep it standalone, clarify positioning, and enrich it (chosen) — accept the small, intentional overlap; make the two easy to tell apart in the UI/docs; and deepen the shortcode so it's clearly the better tool for its one job.

Decision

Keep animated_heading as a zero-dependency rotating headline, distinct from the engine. Its Animation picker now cross-references the Text Effects (and warns against stacking both), and the shortcode gained playback controls (loop once / pause on hover / randomize), typewriter caret controls, two rotation styles (blur, 3D-rotate) and two highlight styles (gradient, pill).

Why

The deciding fact is that the Animation Engine is opt-in and off by default — a deliberate choice so the base plugin stays lean. That makes the shortcode the only rotating headline that works without asking the user to activate an extension, which is exactly the moment a beginner reaches for one. Beyond that, the two serve different mental models — "drop a rotating-headline element" vs. "sprinkle an effect onto any text" — and the shortcode's headline-specific options (before/after static text, per-word highlight, purpose-built rotation styles) are richer for that narrow job than the generic rotating_words effect. Folding it into the engine would trade a tiny amount of duplicated code for a worse out-of-box experience and a new dependency. The overlap is acceptable; the fix was positioning and depth, not consolidation.