Qaiyo Text Marquee Slider creates the infinite scrolling text strips ("marquee", "ticker") seen on modern product and agency sites — and keeps the text in the page. Every item is real text in a real list, printed once by the server. Search engines, screen readers and AI agents read it even when JavaScript never runs; the copies that keep the loop seamless are made in the browser and hidden from assistive technology.
What makes it different
- Real content, not a canvas. Items are server-rendered text and links. Optional Schema.org
ItemList structured data describes them to search engines.
- Light. One small vanilla JavaScript file and one stylesheet, no jQuery on the front end, and neither is loaded on a page that has no marquee.
- Scheduling and display rules included. Show a strip only between two dates (a campaign banner that appears and disappears on its own), only on certain post types or the front page, only to certain user roles, and never on the page IDs you list.
- Accessible. A row stops while it is hovered or has keyboard focus, a pause control appears for keyboard users, and visitors who prefer reduced motion get a still list with every item visible. The editor is fully usable from the keyboard.
- Private by design. No visitor data is collected, no cookies are set, nothing is loaded from a third party on your site's front end.
Features
- 1, 2 or 3 rows, each with its own direction (left or right) and speed
- Any number of text items per row, reordered by drag and drop or with the keyboard
- Per item: text colour, link (same or new tab), icon before and/or after the text, spacing
- Badge / pill styling per item: background colour, border colour, border width, corner radius
- Optional separator image between the items of a row, with its own size
- Font size for the whole slider, and a font picker that offers the fonts your theme actually uses
- Soft fade at both edges, row gap, background colour
- Schedule (start and end date and time, in your site's time zone)
- Display rules: post types / front page, user roles (including logged-out visitors), excluded page IDs
- Optional Schema.org
ItemList JSON-LD
- An Overview page: your most recently edited sliders with their shortcodes and a Copy button, one click from the menu
- Slider categories, and everything else a WordPress post type gives you (trash, search, bulk actions)
- Shortcode:
[qaiyo_text_marquee id="123"] — works in pages, posts, widgets and every page builder that renders shortcodes
- Multilingual sites: sliders are translatable with Polylang and WPML, a new translation starts as a full copy of the original, and one shortcode shows the right language everywhere. Output is plain text that TranslatePress can translate.
- Translations: the interface is available in English, Hungarian, German, French, Spanish, Japanese, Portuguese, Italian, Russian, Turkish and Polish
Website:
https://qaiyo-plugins.com — Support: info@qaiyo
-plugins.com
1.2.0
Security and quality release, with a new Overview page and a choice of what deleting the plugin removes. Sliders, shortcodes and saved settings are unchanged; no action is needed after updating.
- New: an Overview page opens when you click the plugin's menu: a greeting, the everyday actions, and your most recently edited sliders with their shortcodes and a Copy button. The Plugins screen links to it.
- New: Settings → Data on uninstall. Choose whether deleting the plugin keeps everything in the database (the default) or deletes every slider, slider category and setting. On a network every site decides for itself.
- Changed: the admin menu is now Overview, All Sliders, Add New, Categories, Settings, Discover Qaiyo.
- Security: colours and font names are now checked against a strict CSS allowlist when a slider is saved and when it is displayed. Before, a user who could publish a slider could add arbitrary CSS declarations to the pages that embed it through a colour field.
- Security: SVG upload is limited to users who manage the site and may publish unfiltered HTML (on a multisite network: super admins only), and a file is accepted as SVG only if it is named and detected as one.
- Security: the structured data (JSON-LD) output can no longer be closed early by item text, whatever is stored in the database.
- Security: a password-protected slider is no longer displayed by the shortcode.
- Security: the editor ignores malformed form fields instead of failing on them, and font detection accepts plain font names only.
- Fixed: with Polylang, a new translation of a slider started empty. It now starts as a full copy, and the WPML configuration lists every slider field.
- Fixed: a shortcode placed in a header or footer showed the same language everywhere. It now shows the slider's translation in the visitor's language (Polylang, WPML).
- Fixed: "Hide on specific page / post IDs" also applies to the translations of a listed page (Polylang).
- Fixed: a slider's font was silently reset when the theme stopped using it.
- Fixed: a backslash typed into an item was lost on save.
- Fixed: the privacy policy suggestion described a service the plugin does not use.
- Fixed: the slider category taxonomy was public although sliders have no front-end URLs.
- Accessibility: every control of the editor has a label; icon buttons have names; items can be reordered with "Move up" / "Move down" buttons; status messages use WordPress's own screen reader announcements; focus is always visible.
- Accessibility: a row pauses on keyboard focus, a pause button is available to keyboard users, and with "reduce motion" all items stay visible.
- Translations: the interface now uses standard WordPress translation files (.po/.mo) for all ten bundled languages, a language pack from translate.wordpress.org takes precedence, and the "Discover Qaiyo" screen and the role names are translated too.
- Compatibility: translation plugins no longer re-process the looping copies (TranslatePress).
- Developers: new filters
qtms_should_display and qtms_font_detection_enabled.
- Tested with WordPress 7.1.
1.1.0
- Security: font detection now runs only for logged-in editors; removed the unauthenticated (nopriv) AJAX endpoint and added a capability check, so no browser data is collected from anonymous visitors.
- Privacy: added a WordPress privacy policy suggestion.
- Compatibility: scoped the admin date/time input CSS to the plugin UI so it no longer affects theme
<input> elements.
- Accessibility: the collapsible row header is keyboard-operable; screen-reader announcements for adding/removing items and copying the shortcode.
- Housekeeping: deactivation no longer deletes detected-font data; added a stored version option; added SECURITY.md; canonical GPLv2 license string.
1.0