=== Festival Banner === Contributors: justsohel Tags: banner, notification bar, top bar, popup, announcement Requires at least: 5.6 Tested up to: 6.8.5 Requires PHP: 7.4 Stable tag: 1.2.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Display festive messages or promotional banners in various positions across your WordPress site — all managed from a beautiful admin interface. == Description == **Festival Banner** is a powerful yet simple plugin for displaying promotional banners, announcement bars, holiday greetings, and festive messages on your WordPress website. Whether you're running a seasonal sale, sharing a cookie notice, promoting an upcoming event, or welcoming visitors — Festival Banner gives you full control over how and where your banners appear, with zero coding required. = Key Features = **6 Banner Positions** * **Top Bar** — Fixed bar pinned to the very top of the viewport * **Bottom Bar** — Fixed bar pinned to the bottom of the viewport * **Floating** — Small card anchored to any corner of the screen * **Modal / Popup** — Centered overlay with configurable delay * **Side Banner** — Vertical strip on the left, right, or both sides * **Inline** — Embed anywhere using a simple shortcode **Rich Content & Styling** * Write banner content with basic HTML (``, ``, ``, etc.) * Upload a banner image via the WordPress Media Library * Choose background and text colors with a built-in color picker * Set layout direction: horizontal or vertical * Set content alignment: left, center, or right **Call to Action Button** * Add a button with a custom label and URL * Choose button background and text colors independently * Option to open the link in a new tab **Animations** * Choose an entry animation: Fade In, Slide In, or None **Smart Scheduling** * Set a start date and/or end date for each banner * Expired banners are hidden automatically — no manual intervention needed **Dismissible Banners** * Let visitors close banners with a single click * Dismissed state is saved in localStorage so it persists across page loads **Page Targeting** * Show on **All Pages** * Show on **Homepage Only** * Show on **Specific Pages or Posts** — pick exactly which ones from a searchable list **Live Preview** * See exactly how your banner will look — in real time — while you fill in the form **Multiple Banners** * Create and manage as many banners as you need * Each banner has its own settings, schedule, and targeting rules = Getting Started = 1. Install and activate the plugin 2. Go to **WP Admin → Festival Banners** 3. Click **Add New Banner** 4. Fill in your content, choose a position, pick your colors 5. Set Status to **Active** and click **Create Banner** Your banner is now live on your site! = Inline Shortcode = For **Inline** banners, paste the shortcode into any page, post, or widget: `[festival_banner id="123"]` = Who Is This Plugin For? = * **Store owners** running seasonal sales or free shipping promotions * **Bloggers** sharing announcements or newsletter sign-ups * **Agencies** displaying cookie consent or GDPR notices * **Event organizers** counting down to a launch or registration deadline * **Anyone** who wants a clean, customizable banner without bloated page builders == Installation == = Automatic Installation = 1. In your WordPress admin, go to **Plugins → Add New** 2. Search for **Festival Banner** 3. Click **Install Now**, then **Activate** = Manual Installation = 1. Download the plugin zip file 2. Go to **Plugins → Add New → Upload Plugin** 3. Upload the zip file and click **Install Now** 4. Click **Activate Plugin** = After Activation = Go to **WP Admin → Festival Banners** to create your first banner. == Frequently Asked Questions == = How do I display a banner on every page? = When creating or editing a banner, set **Show on** to **All Pages** under the Page Targeting section. Make sure Status is set to **Active (Published)**. = How do I display a banner on a specific page only? = Set **Show on** to **Specific Pages**, then search for and select the pages you want in the dropdown. = Can I display a banner inside a post or page? = Yes! Set the banner position to **Inline**, save it, then copy the shortcode shown in the form (e.g. `[festival_banner id="123"]`) and paste it anywhere in your content. = Can visitors close the banner? = Yes — enable **Dismissible** in the Behaviour section. Once a visitor closes the banner, it won't appear again for them (their choice is stored in localStorage). = Can I schedule a banner for specific dates? = Yes. In the Scheduling section, set a **Start Date** and/or **End Date**. The banner will automatically start and stop displaying on those dates. = Can I show a banner only during a promotion period? = Yes — combine the Scheduling feature (start and end dates) with the position and page targeting that suits your campaign. = How many banners can I create? = As many as you need. Each banner has its own independent settings. = Will the banner work with my theme? = Festival Banner uses fixed CSS positioning for most banner types, which works with virtually all WordPress themes. If you experience layout issues, please open a support thread. = Can I add HTML to the banner content? = Yes. The content field supports basic safe HTML: ``, ``, ``, `
`, and other tags allowed by WordPress's `wp_kses_post()`. = Does the plugin slow down my site? = No. Festival Banner only loads assets when there are active banners to display. The admin UI (React) is only loaded on the plugin's admin page, never on the frontend. = What happens to my banners if I deactivate the plugin? = Your banner data is preserved in the database when the plugin is deactivated. It is only removed when you **delete** the plugin via the Plugins screen (uninstall). = Does it support RTL languages? = Yes. A separate RTL stylesheet is automatically loaded for right-to-left language sites. == Screenshots == 1. **Banner List** — The admin dashboard showing all your banners with their positions and statuses. 2. **Create / Edit Form** — The banner editor with live preview updating as you type. 3. **Top Bar** — A full-width banner pinned to the top of the page. 4. **Bottom Bar** — A full-width banner pinned to the bottom of the page. 5. **Modal / Popup** — A centred overlay banner that appears after a short delay. 6. **Floating Banner** — A small card anchored to a corner of the screen. 7. **Live Preview** — Real-time preview inside the edit form. == Changelog == = 1.2.0 = * New: Floating position — small card anchored to any screen corner * New: Side position — vertical strip on left, right, or both sides * New: Modal delay — configure how many seconds before the modal appears * New: Animations — Fade In and Slide In entry animations * New: CTA button background and text colors (set independently) * New: Open CTA link in a new tab option * New: Layout direction (horizontal / vertical) and content alignment * New: Image support via WordPress Media Library * Improved: React-powered admin UI with live banner preview * Improved: Server-side pagination for the banner list * Improved: Dismissal now uses per-banner localStorage key (persists across sessions) * Improved: Shortcode alias `[wp_banner]` supported for backward compatibility = 1.1.1 = * Added default translation support = 1.1.0 = * Clear cache on plugin uninstall * Remove all data when plugin is deleted * Fix default dismissible behavior = 1.0.0 = * Initial release * Customizable banner options: position, colors, content, scheduling * Responsive layout * Dismissible banners == Upgrade Notice == = 1.2.0 = Major update with 6 banner positions, animations, CTA color controls, a new React admin UI, and live preview. Fully backward compatible with your existing banners.