
Frontpage rounded flags.
seljeVisitorsFlags lets you display country flags anywhere on your WordPress site using a simple shortcode. It’s ideal for showing the countries you’ve visited, highlighting where your visitors come from, or adding an international feel to landing pages, sidebars, and content sections.
After activation, go to Tools seljeVisitorsFlags to choose which countries to show, arrange their order, and configure display defaults. Once saved, you can output the flags with the default shortcode:
[seljev_flags]
You can also build customized shortcodes using the built-in Shortcode Builder tab, which helps you generate variants for different pages without needing to remember every parameter.
Frontend display options include a normal static list/grid and a continuous scrolling ticker (scroller). Ticker mode is designed to look smooth and modern, while still being mindful of performance: the animation pauses when it’s off-screen or when the browser tab is hidden.
The plugin includes multiple visual options so the output can match your site: sizing, spacing, alignment, and optional names/tooltip labeling. Flag images include explicit dimensions to reduce layout shifts during loading for a more stable page layout.
Accessibility and admin usability are also considered: tooltip behavior supports keyboard focus, and the country picker provides clear feedback (including a live selected-count indicator). You can quickly select all countries, apply EU/EEA presets, clear your selection with confirmation, and undo a clear action if you clicked it by mistake.
Whether you want a clean row of flags, a polished animated scroller, or a simple “countries list” section, seljeVisitorsFlags keeps setup fast and output flexible—without requiring a page builder or custom code.
Find this free plugin useful? Please support my work on this plugin by sending me a one-time donation (50% of the proceeds go to Ukraine).
Find this free plugin useful? Please support my work on this plugin by making a donation.
After activating the plugin, go to:
Tools -> seljeVisitorsFlags
You will see four tabs:
Tip: If you do not select any countries, the shortcode output may be empty.
These settings control the default output for the [seljev_flags] shortcode (unless you override them in a shortcode).
Common settings:
If using User flags folder:
Display mode:
If you choose Continuous scroller:
If you choose Show all flags (static):
The main shortcode is:
[seljev_flags]
This uses:
You can also generate a shortcode that includes specific countries, for example:
[seljev_flags countries=”NO,SE,DK”]
In the Shortcodes tab, use the Shortcode Builder to create a shortcode with options (toggles/selects) without memorizing attributes.
Use Preview to test how the flags will look with your current settings before placing the shortcode on a live page.
If Preview is empty:
No flags show up:
Some flags missing when using User flags folder:
Scroller too fast/slow:
Copy button does not work:
All settings are found under Settings seljeVisitorsFlags in the WordPress admin.
This is where you choose which country flags to display.
These settings control the default appearance of [seljev_flags]. Any of them can be overridden per-shortcode via the Shortcode Builder.
Flag size (px)
Width of each flag image in pixels. Applies to all display modes. Range: 8–256. Default: 48.
Flag source
Where flag images are loaded from:
* FlagCDN (SVG) — Scalable vector flags loaded from flagcdn.com (recommended, sharpest at any size).
* FlagCDN (PNG 4:3) — Raster PNG flags from flagcdn.com; best for older browsers that don’t support SVG.
* Circle Flags (SVG) — Round/circular-style flag SVGs, loaded from a GitHub CDN.
* User flags folder — Load your own image files from wp-content/plugins/seljevisitorsflags/assets/flags/userflags/. Name files using uppercase ISO 2-letter codes (e.g. NO.svg, SE.png). The plugin tries .svg first, then .png.
Display mode
* Show all flags (static) — Displays all selected flags at once in a grid or row. Use the layout, alignment, and entrance animation settings below.
* Continuous scroller (animated ticker) — Loops the flags past continuously. Entrance animations are disabled in this mode. The scroller pauses when off-screen or when the browser tab is hidden.
Continuous scroller settings (only visible when Display mode = Continuous scroller)
Layout (static mode only)
* Row — Flags wrap into a horizontal line, breaking onto new lines if the container is too narrow.
* Grid — Flags are arranged in a fixed-column grid.
Grid columns (static mode, Grid layout only)
Number of columns in the grid. Range: 1–20. Default: 6.
Gap (px)
Space between individual flags. Range: 0–64 px. Default: 8.
Alignment (static mode only)
Horizontal alignment of the flag group within its container: Left, Center, or Right.
Country names
* None — Only the flag image is shown.
* Tooltip on hover — The country name appears in a tooltip on mouse hover and keyboard focus.
* Caption below flag — The country name is shown as a text label directly below each flag.
Text color
* Follow theme — Caption and tooltip text inherits the color from surrounding page text.
* Custom color — Pick a specific hex color for captions and tooltip text.
Entrance animation (static mode only)
The animation played as each flag enters the viewport:
* None — No animation; flags appear instantly.
* Fade in — Flags fade in from transparent.
* Fly in from left/right/bottom/top — Flags slide into position from the chosen direction.
* Zoom in — Flags scale up from slightly smaller.
Animation duration (ms)
How long each flag’s entrance animation takes. Range: 0–5000 ms. Default: 400.
Stagger delay (ms)
Extra delay between each successive flag’s animation, creating a wave-like cascade effect. Set to 0 for all flags to animate simultaneously. Range: 0–2000 ms. Default: 50.
Animation trigger
* On scroll into view — The animation fires only when the flags scroll into the visible viewport (recommended; saves performance).
* On page load — The animation fires immediately when the page loads, regardless of scroll position.
Generates a ready-to-paste shortcode with custom overrides. Every option here has a Default choice that falls back to the saved Display Defaults above.
Set a value only when you want that specific shortcode to behave differently from your defaults. Copy the generated shortcode with the Copy button and paste it into any page, post, block, or widget.
Shows a live render of your flags using the current Display Defaults. Save any changes on the Display Defaults tab first to see them reflected here.