{"id":54230,"date":"2017-02-04T15:19:38","date_gmt":"2017-02-04T15:19:38","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/floating-news-headline\/"},"modified":"2026-04-01T09:29:57","modified_gmt":"2026-04-01T09:29:57","slug":"floating-news-headline","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/floating-news-headline\/","author":14568458,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.3.2","stable_tag":"1.3.2","tested":"6.9.4","requires":"5.8","requires_php":"5.6","requires_plugins":null,"header_name":"Floating News Headline","header_author":"A WP Life","header_description":"","assets_banners_color":"a24169","last_updated":"2026-04-01 09:29:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":3,"author_block_rating":0,"active_installs":100,"downloads":17495,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.0.1":{"tag":"0.0.1","author":"awordpresslife","date":"2017-02-20 16:04:07"},"0.0.10":{"tag":"0.0.10","author":"awordpresslife","date":"2018-12-24 08:52:39"},"0.0.2":{"tag":"0.0.2","author":"awordpresslife","date":"2017-10-07 12:29:33"},"0.0.3":{"tag":"0.0.3","author":"awordpresslife","date":"2017-11-17 15:13:54"},"0.0.4":{"tag":"0.0.4","author":"awordpresslife","date":"2018-07-04 07:33:12"},"0.0.5":{"tag":"0.0.5","author":"awordpresslife","date":"2018-08-10 11:46:21"},"0.0.6":{"tag":"0.0.6","author":"awordpresslife","date":"2018-08-30 09:28:29"},"0.0.7":{"tag":"0.0.7","author":"awordpresslife","date":"2018-09-20 10:26:00"},"0.0.8":{"tag":"0.0.8","author":"awordpresslife","date":"2018-11-10 06:10:16"},"0.0.9":{"tag":"0.0.9","author":"awordpresslife","date":"2018-12-13 09:31:25"},"0.1.1":{"tag":"0.1.1","author":"awordpresslife","date":"2019-01-05 10:38:55"},"0.1.2":{"tag":"0.1.2","author":"awordpresslife","date":"2019-01-17 12:38:49"},"1.0.0":{"tag":"1.0.0","author":"awordpresslife","date":"2019-02-18 07:58:26"},"1.0.1":{"tag":"1.0.1","author":"awordpresslife","date":"2019-03-09 10:03:03"},"1.0.10":{"tag":"1.0.10","author":"awordpresslife","date":"2019-10-07 10:21:22"},"1.0.2":{"tag":"1.0.2","author":"awordpresslife","date":"2019-03-26 07:22:34"},"1.0.3":{"tag":"1.0.3","author":"awordpresslife","date":"2019-04-22 11:18:53"},"1.0.4":{"tag":"1.0.4","author":"awordpresslife","date":"2019-05-28 00:38:22"},"1.0.5":{"tag":"1.0.5","author":"awordpresslife","date":"2019-06-14 10:24:45"},"1.0.6":{"tag":"1.0.6","author":"awordpresslife","date":"2019-07-01 07:17:26"},"1.0.7":{"tag":"1.0.7","author":"awordpresslife","date":"2019-07-16 09:31:14"},"1.0.8":{"tag":"1.0.8","author":"awordpresslife","date":"2019-08-01 11:31:28"},"1.0.9":{"tag":"1.0.9","author":"awordpresslife","date":"2019-09-11 06:43:28"},"1.1.0":{"tag":"1.1.0","author":"awordpresslife","date":"2019-12-26 10:53:06"},"1.1.1":{"tag":"1.1.1","author":"awordpresslife","date":"2020-02-25 08:30:41"},"1.1.2":{"tag":"1.1.2","author":"awordpresslife","date":"2020-06-29 09:00:01"},"1.1.3":{"tag":"1.1.3","author":"awordpresslife","date":"2020-08-06 08:07:14"},"1.1.4":{"tag":"1.1.4","author":"awordpresslife","date":"2020-08-27 10:36:57"},"1.1.5":{"tag":"1.1.5","author":"awordpresslife","date":"2020-10-05 11:19:57"},"1.1.6":{"tag":"1.1.6","author":"awordpresslife","date":"2020-11-02 07:36:57"},"1.1.7":{"tag":"1.1.7","author":"awordpresslife","date":"2020-12-01 09:39:39"},"1.2.0":{"tag":"1.2.0","author":"awordpresslife","date":"2020-12-23 09:00:59"},"1.2.1":{"tag":"1.2.1","author":"awordpresslife","date":"2021-03-05 09:43:25"},"1.2.2":{"tag":"1.2.2","author":"awordpresslife","date":"2021-04-01 10:06:22"},"1.2.3":{"tag":"1.2.3","author":"awordpresslife","date":"2021-05-05 00:06:59"},"1.2.4":{"tag":"1.2.4","author":"awordpresslife","date":"2021-06-01 09:10:14"},"1.2.5":{"tag":"1.2.5","author":"awordpresslife","date":"2021-09-13 08:45:11"},"1.2.6":{"tag":"1.2.6","author":"awordpresslife","date":"2022-02-04 10:35:31"},"1.2.7":{"tag":"1.2.7","author":"awordpresslife","date":"2022-05-16 07:30:47"},"1.2.8":{"tag":"1.2.8","author":"awordpresslife","date":"2022-08-23 07:57:04"},"1.2.9":{"tag":"1.2.9","author":"awordpresslife","date":"2023-05-18 09:54:24"},"1.3.1":{"tag":"1.3.1","author":"FARAZFRANK","date":"2026-03-31 11:50:21"},"1.3.2":{"tag":"1.3.2","author":"FARAZFRANK","date":"2026-04-01 09:29:57"}},"upgrade_notice":{"1.3.0":"<p>Major architectural upgrade. Complete rebuild with React dashboard, 3 premium themes, GPU-accelerated animations, and enhanced security. Settings are automatically migrated from previous versions.<\/p>"},"ratings":{"1":1,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3495506,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3495506,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3495506,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3496340,"resolution":false,"location":"assets","locale":"","contents":"{\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=floating-news-headline\",\"preferredVersions\":{\"php\":\"7.4\",\"wp\":\"latest\"},\"phpExtensionBundles\":[\"kitchen-sink\"],\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"floating-news-headline\"}}]}"}},"all_blocks":[],"tagged_versions":["0.0.1","0.0.10","0.0.2","0.0.3","0.0.4","0.0.5","0.0.6","0.0.7","0.0.8","0.0.9","0.1.1","0.1.2","1.0.0","1.0.1","1.0.10","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.2.0","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.7","1.2.8","1.2.9","1.3.1","1.3.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The modern React-based admin dashboard with instant live preview and tabbed settings.","2":"Corporate Classic template \u2014 professional Indigo design with post thumbnails and metadata.","3":"Dark Night template \u2014 high-contrast Slate design with emerald status pulses.","4":"Floating Pill template \u2014 translucent blur effects with bubble-style rounded corners.","5":"Content settings panel showing source selection, manual post picker, and custom alerts.","6":"Animation settings panel with speed slider and item spacing control."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[34890,1542,11026,21215,12726],"plugin_category":[45],"plugin_contributors":[79800,77623,223472,223470,223471,223469,223473,223474],"plugin_business_model":[],"class_list":["post-54230","plugin","type-plugin","status-publish","hentry","plugin_tags-breaking-news","plugin_tags-floating-bar","plugin_tags-marquee","plugin_tags-news-headline","plugin_tags-news-ticker","plugin_category-ecommerce","plugin_contributors-awordpresslife","plugin_contributors-farazfrank","plugin_contributors-fkfaisalkhan007","plugin_contributors-hanif0991","plugin_contributors-muhammadshahid","plugin_contributors-razipathhan","plugin_contributors-sharikkhan007","plugin_contributors-zishlife","plugin_committers-awordpresslife","plugin_committers-farazfrank","plugin_committers-hanif0991","plugin_committers-muhammadshahid","plugin_committers-razipathhan","plugin_committers-sharikkhan007","plugin_committers-zishlife","plugin_support_reps-awordpresslife","plugin_support_reps-farazfrank","plugin_support_reps-fkfaisalkhan007","plugin_support_reps-hanif0991","plugin_support_reps-muhammadshahid","plugin_support_reps-razipathhan","plugin_support_reps-sharikkhan007","plugin_support_reps-zishlife"],"banners":{"banner":"https:\/\/ps.w.org\/floating-news-headline\/assets\/banner-772x250.png?rev=3495506","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/floating-news-headline\/assets\/icon-128x128.png?rev=3495506","icon_2x":"https:\/\/ps.w.org\/floating-news-headline\/assets\/icon-256x256.png?rev=3495506","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Floating News Headline<\/strong> is a professional-grade, lightweight news ticker plugin designed for <strong>speed, beauty, and zero theme conflicts<\/strong>. Display breaking news, latest posts, hand-picked headlines, or custom alerts in a sleek, non-intrusive floating bar on your WordPress site.<\/p>\n\n<p>Built from the ground up with a <strong>modern React admin dashboard<\/strong> and <strong>GPU-accelerated BEM-CSS architecture<\/strong>, this plugin delivers silky-smooth scrolling animations without slowing down your website.<\/p>\n\n<h3>\ud83d\ude80 Why Choose Floating News Headline?<\/h3>\n\n<p>Unlike other ticker plugins that rely on heavy jQuery dependencies and outdated markup, Floating News Headline uses:<\/p>\n\n<ul>\n<li><strong>Vanilla JavaScript<\/strong> on the frontend \u2014 zero jQuery dependency<\/li>\n<li><strong>CSS <code>transform: translateX()<\/code> animations<\/strong> \u2014 GPU-accelerated for 60fps scrolling<\/li>\n<li><strong>BEM (Block-Element-Modifier) CSS<\/strong> \u2014 zero naming collisions with your theme<\/li>\n<li><strong>WordPress Transient API<\/strong> \u2014 intelligent caching to minimize database queries<\/li>\n<li><strong>PSR-4 Style Autoloading<\/strong> \u2014 clean, maintainable PHP architecture<\/li>\n<li><strong>WordPress REST API<\/strong> \u2014 secure, nonce-verified AJAX communication<\/li>\n<\/ul>\n\n<h3>\ud83c\udfa8 3 Premium Themes Included (Free)<\/h3>\n\n<ol>\n<li><strong>Corporate Classic<\/strong> \u2014 Clean, professional Indigo-themed design with post thumbnails, author metadata, and a document icon label. Perfect for business and corporate sites.<\/li>\n<li><strong>Dark Night<\/strong> \u2014 Sleek, high-contrast Slate design with emerald status pulses, gradient blur overlays, and pipe dividers. Ideal for tech, gaming, and entertainment sites.<\/li>\n<li><strong>Floating Pill<\/strong> \u2014 Modern, bubble-style Emerald design with glassmorphism blur effects and rounded corners. Great for blogs, startups, and creative portfolios.<\/li>\n<\/ol>\n\n<h3>\u2705 Key Features<\/h3>\n\n<ul>\n<li><strong>Instant Live Preview<\/strong> \u2014 See your ticker changes in real-time within the admin dashboard before saving. No page refresh required.<\/li>\n<li><strong>Multi-Source Content<\/strong> \u2014 Pull headlines from your latest blog posts, manually select specific posts, or write a custom alert message with a link.<\/li>\n<li><strong>Manual Post Picker<\/strong> \u2014 Search and select up to 5 specific posts (free version) to display in your ticker with a beautiful search UI.<\/li>\n<li><strong>Customizable Speed<\/strong> \u2014 Control the scrolling speed from 5s (fast) to 100s (slow) with an intuitive range slider.<\/li>\n<li><strong>Item Spacing Control<\/strong> \u2014 Adjust the gap between ticker items from 0px to 200px for the perfect visual density.<\/li>\n<li><strong>Page Targeting<\/strong> \u2014 Choose to show the ticker on all pages or only on the homepage\/front page.<\/li>\n<li><strong>Scroll Behavior<\/strong> \u2014 Choose between \"Fixed\" (always visible) or \"Sticky on Scroll\" (appears after scrolling down).<\/li>\n<li><strong>Sticky Top Placement<\/strong> \u2014 Automatically inject the ticker at the very top of your site using <code>wp_body_open<\/code>, or place it anywhere with a shortcode.<\/li>\n<li><strong>Play \/ Pause Control<\/strong> \u2014 Users can pause and resume the ticker with a built-in toggle button. Accessible with proper <code>aria-label<\/code> attributes.<\/li>\n<li><strong>Seamless Infinite Loop<\/strong> \u2014 Headlines scroll continuously with a duplicated group technique \u2014 no gaps, no stuttering.<\/li>\n<li><strong>Short Content Protection<\/strong> \u2014 If total headline text is too short for a seamless loop, the plugin automatically multiplies items to prevent visual breaks.<\/li>\n<li><strong>Customizable Labels<\/strong> \u2014 Change the ticker label text (e.g., \"Breaking News\", \"Latest Updates\") from the admin panel.<\/li>\n<li><strong>Responsive Design<\/strong> \u2014 Looks great on desktop, tablet, and mobile devices with adaptive layouts.<\/li>\n<li><strong>Lightweight &amp; Fast<\/strong> \u2014 Under 40KB total frontend footprint (CSS + JS). No external CDN dependencies.<\/li>\n<li><strong>Settings Migration<\/strong> \u2014 Automatically migrates settings from the legacy <code>fnh_settings<\/code> option key to the new <code>floating_news_headline_settings<\/code> key.<\/li>\n<li><strong>Developer Hooks<\/strong> \u2014 Filter <code>floating_news_headline_items<\/code> to programmatically modify ticker items before rendering.<\/li>\n<\/ul>\n\n<h3>\ud83d\udd12 Security<\/h3>\n\n<ul>\n<li>All REST API routes are protected with <code>manage_options<\/code> capability checks<\/li>\n<li>Input sanitization using <code>sanitize_text_field()<\/code>, <code>sanitize_key()<\/code>, <code>intval()<\/code>, and <code>esc_url_raw()<\/code><\/li>\n<li>Output escaping using <code>esc_html()<\/code>, <code>esc_attr()<\/code>, and <code>esc_url()<\/code> in all templates<\/li>\n<li>Nonce verification via WordPress REST API <code>X-WP-Nonce<\/code> header<\/li>\n<li>ABSPATH checks on all PHP files to prevent direct access<\/li>\n<\/ul>\n\n<h3>\ud83c\udfd7\ufe0f Architecture<\/h3>\n\n<ul>\n<li><strong>Namespace:<\/strong> <code>FloatingNewsHeadline<\/code><\/li>\n<li><strong>Autoloader:<\/strong> PSR-4 style with <code>spl_autoload_register<\/code><\/li>\n<li><strong>Classes:<\/strong> <code>Activator<\/code>, <code>Adapter<\/code>, <code>Admin<\/code>, <code>Assets<\/code>, <code>Deactivator<\/code>, <code>Frontend<\/code>, <code>REST_API<\/code>, <code>Settings<\/code><\/li>\n<li><strong>Templates:<\/strong> <code>corporate.php<\/code>, <code>dark.php<\/code>, <code>pill.php<\/code> (BEM-structured HTML)<\/li>\n<li><strong>Build System:<\/strong> <code>@wordpress\/scripts<\/code> with custom Webpack config for dual entry points (<code>index.js<\/code> for admin, <code>frontend.js<\/code> for public)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong> in your WordPress admin.<\/li>\n<li>Search for <strong>\"Floating News Headline\"<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Navigate to <strong>News Headlines<\/strong> in your admin sidebar to configure your ticker.<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP from WordPress.org.<\/li>\n<li>Go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Upload the ZIP file and click <strong>Install Now<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu.<\/li>\n<\/ol>\n\n<h4>From Source (Developers)<\/h4>\n\n<ol>\n<li>Clone the repository into <code>\/wp-content\/plugins\/floating-news-headline<\/code>.<\/li>\n<li>Run <code>npm install<\/code> to install dependencies.<\/li>\n<li>Run <code>npm run build<\/code> to compile the React admin and frontend assets.<\/li>\n<li>Activate the plugin in WordPress.<\/li>\n<\/ol>\n\n<h4>After Activation<\/h4>\n\n<ul>\n<li>The ticker will automatically appear at the <strong>top of your site<\/strong> if \"Sticky Top\" placement is selected (default).<\/li>\n<li>To place it manually, use the shortcode <code>[fnh_ticker]<\/code> or <code>[floating_news_headline_ticker]<\/code> in any post, page, or widget.<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20enable%2Fdisable%20the%20ticker%3F\"><h3>How do I enable\/disable the ticker?<\/h3><\/dt>\n<dd><p>Go to <strong>News Headlines<\/strong> in your WordPress admin. Use the toggle switch in the top-right corner of the dashboard to enable or disable the ticker globally.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20as%20a%20shortcode%3F\"><h3>Can I use it as a shortcode?<\/h3><\/dt>\n<dd><p>Yes! Use <code>[fnh_ticker]<\/code> or <code>[floating_news_headline_ticker]<\/code> in any page, post, or text widget. When using shortcode placement, set the placement to \"Shortcode\" in the admin dashboard.<\/p><\/dd>\n<dt id=\"does%20it%20support%20custom%20post%20types%3F\"><h3>Does it support custom post types?<\/h3><\/dt>\n<dd><p>The free version supports standard <strong>Posts<\/strong> and <strong>Pages<\/strong>. The Pro version will support all registered custom post types.<\/p><\/dd>\n<dt id=\"can%20i%20show%20the%20ticker%20only%20on%20the%20homepage%3F\"><h3>Can I show the ticker only on the homepage?<\/h3><\/dt>\n<dd><p>Yes. In the <strong>Visibility<\/strong> tab, set \"Display On\" to <strong>Homepage Only<\/strong>. The ticker will only appear on the front page and blog index page.<\/p><\/dd>\n<dt id=\"how%20do%20i%20change%20the%20ticker%20speed%3F\"><h3>How do I change the ticker speed?<\/h3><\/dt>\n<dd><p>Go to the <strong>Animation<\/strong> tab in the admin dashboard. Use the speed slider to adjust from 5 seconds (fastest) to 100 seconds (slowest). The live preview updates instantly.<\/p><\/dd>\n<dt id=\"how%20do%20i%20change%20the%20label%20text%3F\"><h3>How do I change the label text?<\/h3><\/dt>\n<dd><p>In the <strong>Content<\/strong> tab, scroll down to the <strong>Label<\/strong> field. You can change it to anything like \"Breaking News\", \"Trending\", \"Headlines\", etc.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20website%3F\"><h3>Will it slow down my website?<\/h3><\/dt>\n<dd><p>No. The frontend uses <strong>vanilla JavaScript<\/strong> (no jQuery), <strong>GPU-accelerated CSS animations<\/strong> (using <code>transform: translateX()<\/code>), and <strong>WordPress Transient caching<\/strong> (10-minute cache). The total frontend footprint is under 40KB.<\/p><\/dd>\n<dt id=\"does%20it%20conflict%20with%20my%20theme%3F\"><h3>Does it conflict with my theme?<\/h3><\/dt>\n<dd><p>Very unlikely. All CSS uses the <strong>BEM naming convention<\/strong> with the <code>fnh-<\/code> prefix, which prevents naming collisions. The ticker is injected via <code>wp_body_open<\/code> or shortcode, both of which are standard WordPress hooks.<\/p><\/dd>\n<dt id=\"can%20i%20display%20a%20custom%20alert%20instead%20of%20posts%3F\"><h3>Can I display a custom alert instead of posts?<\/h3><\/dt>\n<dd><p>Yes. In the <strong>Content<\/strong> tab, select <strong>Custom Alert<\/strong> as the source. Enter your alert text and an optional link URL.<\/p><\/dd>\n<dt id=\"how%20does%20caching%20work%3F\"><h3>How does caching work?<\/h3><\/dt>\n<dd><p>The plugin uses WordPress Transients to cache fetched post data for <strong>10 minutes<\/strong>. When you save settings, the cache is automatically invalidated using a versioned cache key strategy \u2014 no raw SQL needed.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20translatable%3F\"><h3>Is the plugin translatable?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses the <code>floating-news-headline<\/code> text domain. All user-facing strings are wrapped in appropriate WordPress i18n functions. You can translate it using Loco Translate or any .po\/.mo editor.<\/p><\/dd>\n<dt id=\"what%20hooks%20and%20filters%20are%20available%3F\"><h3>What hooks and filters are available?<\/h3><\/dt>\n<dd><ul>\n<li><strong>Filter:<\/strong> <code>floating_news_headline_items<\/code> \u2014 Modify the array of ticker items before they are rendered. Receives <code>$items<\/code> (array) and <code>$settings<\/code> (array).<\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.2 \u2014 2026-04-01<\/h4>\n\n<ul>\n<li><strong>New:<\/strong> Dedicated \"Shortcode\" documentation tab in the admin dashboard for easier manual placement reference.<\/li>\n<li><strong>Fix:<\/strong> Synchronized Dashboard Preview height and theme icons (Corporate Classic document icon) with the live site.<\/li>\n<li><strong>Fix:<\/strong> Synchronized scroll speed logic between the admin preview and the frontend for a matching experience.<\/li>\n<li><strong>Enhancement:<\/strong> Decoupled shortcode visibility from site-wide targeting rules \u2014 shortcodes now work on any page regardless of \"Display On\" settings.<\/li>\n<\/ul>\n\n<h4>1.3.1 \u2014 2026-03-31<\/h4>\n\n<ul>\n<li><strong>New:<\/strong> \"Scroll Behavior\" setting in Visibility tab \u2014 Choose how the headline bar behaves on page scroll.<\/li>\n<li><strong>New:<\/strong> \"Fixed\" mode \u2014 Visible at top, hides after scroll (Default).<\/li>\n<li><strong>New:<\/strong> \"Sticky on Scroll\" mode \u2014 Always visible at the top, stays sticky while you scroll down.<\/li>\n<li><strong>Enhancement:<\/strong> Flattened design for all ticker themes (Corporate, Dark) and Admin UI for a modern sharp look.<\/li>\n<li><strong>Enhancement:<\/strong> Emerald Floating Pill theme updated with a flat bar but kept rounded label for a unique look.<\/li>\n<li><strong>Fix:<\/strong> Resolved double caret icons in admin dropdowns (Display Target Pages).<\/li>\n<li><strong>Fix:<\/strong> Solid background for Corporate Classic template to prevent transparency when sticky.<\/li>\n<li><strong>Optimization:<\/strong> Added rAF-throttled scroll listener for performance.<\/li>\n<\/ul>\n\n<h4>1.3.0 \u2014 2026-03-31<\/h4>\n\n<ul>\n<li><strong>Complete Architectural Rebuild<\/strong> \u2014 Entire plugin rewritten from scratch with modern PHP (namespaced, PSR-4 autoloaded) and a React-based admin dashboard.<\/li>\n<li><strong>New:<\/strong> High-fidelity React admin dashboard with instant live preview<\/li>\n<li><strong>New:<\/strong> 3 premium themes \u2014 Corporate Classic, Dark Night, Floating Pill<\/li>\n<li><strong>New:<\/strong> GPU-accelerated CSS marquee animation using <code>transform: translateX()<\/code><\/li>\n<li><strong>New:<\/strong> BEM CSS architecture for zero theme conflicts<\/li>\n<li><strong>New:<\/strong> WordPress Transient caching with versioned cache keys for performance<\/li>\n<li><strong>New:<\/strong> REST API powered settings with full sanitization and nonce verification<\/li>\n<li><strong>New:<\/strong> Manual Post Picker with search UI (up to 5 posts in free version)<\/li>\n<li><strong>New:<\/strong> Custom Alert source with link support<\/li>\n<li><strong>New:<\/strong> Page targeting (all pages or homepage only)<\/li>\n<li><strong>New:<\/strong> Configurable speed (5s\u2013100s) and item spacing (0px\u2013200px)<\/li>\n<li><strong>New:<\/strong> Play\/Pause toggle button with accessible ARIA labels<\/li>\n<li><strong>New:<\/strong> Seamless infinite loop with short content protection<\/li>\n<li><strong>New:<\/strong> Settings migration from legacy <code>fnh_settings<\/code> option key<\/li>\n<li><strong>New:<\/strong> Developer filter <code>floating_news_headline_items<\/code><\/li>\n<li><strong>New:<\/strong> Get Pro sub-menu page with upgrade information<\/li>\n<li><strong>Security:<\/strong> All inputs sanitized, all outputs escaped, capability checks on all REST routes<\/li>\n<li><strong>Performance:<\/strong> Under 40KB frontend footprint, no jQuery dependency, no CDN resources<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Fix: Synchronized REST API namespaces for better stability.<\/li>\n<li>Optimization: Removed redundant character decoding in data adapter.<\/li>\n<li>Compliance: Updated readme and license headers for WP.org.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Initial beta architecture with basic ticker functionality.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Premium, modern, and highly customizable floating news ticker for WordPress \u2014 rebuilt with a React dashboard, GPU-accelerated CSS animations, and BEM  &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/54230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=54230"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/awordpresslife"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=54230"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=54230"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=54230"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=54230"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=54230"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=54230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}