Title: CSS Flags library
Author: Per Søderlind
Published: <strong>June 18, 2015</strong>
Last modified: December 18, 2016

---

Search plugins

![](https://ps.w.org/css-flags/assets/banner-772x250.png?rev=1462188)

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/css-flags/assets/icon-256x256.png?rev=1183216)

# CSS Flags library

 By [Per Søderlind](https://profiles.wordpress.org/pers/)

[Download](https://downloads.wordpress.org/plugin/css-flags.0.3.0.zip)

 * [Details](https://wordpress.org/plugins/css-flags/#description)
 * [Reviews](https://wordpress.org/plugins/css-flags/#reviews)
 *  [Installation](https://wordpress.org/plugins/css-flags/#installation)
 * [Development](https://wordpress.org/plugins/css-flags/#developers)

 [Support](https://wordpress.org/support/plugin/css-flags/)

## Description

The CSS Flags plugin / library for WordPress loads a dynamicaly created CSS with
responsive flags.

**Note:** CSS Flags is not a standalone plugin/library, To display the flags you
will have to [add code to your theme](https://github.com/soderlind/css-flags/#example-1)
using your own plugin or theme functions.php

You can [view the flags at my site](https://soderlind.no/css-flags-plugin-for-wordpress/)

Sample CSS:

    ```
    .css-flag.sami {
        background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHZlcnNpb249IjEuMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAyMCIgaGVpZ2h0PSIxNTAwIj48cmVjdCB3aWR0aD0iNjQ1IiBoZWlnaHQ9IjE1MDAiIGZpbGw9IiNkODFlMDUiLz48cmVjdCB4PSI2NDUiIHdpZHRoPSIxNDAiIGhlaWdodD0iMTUwMCIgZmlsbD0iIzAwN2EzZCIvPjxyZWN0IHg9Ijc4NSIgd2lkdGg9IjE0MCIgaGVpZ2h0PSIxNTAwIiBmaWxsPSIjZmNkMTE2Ii8+PHJlY3QgeD0iOTI1IiB3aWR0aD0iMTA5NSIgaGVpZ2h0PSIxNTAwIiBmaWxsPSIjMDAzOGE4Ii8+PHBhdGggZD0iTSA3ODUsMzEwIGEgNDQwIDQ0MCAwIDAgMCAwLDg4MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAzOGE4IiBzdHJva2Utd2lkdGg9IjgwIi8+PHBhdGggZD0iTSA3ODUsMzEwIGEgNDQwIDQ0MCAwIDAgMSAwLDg4MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZDgxZTA1IiBzdHJva2Utd2lkdGg9IjgwIi8+PC9zdmc+');
        height: 100%;
        width: 134.666666667%;
        background-size: 100% 100%;
    }
    .css-flag.sami-landscape {
        height: 100%;
        width: 134.666666667%;
    }
    .css-flag.sami-portrait {
        height: 74.2574257426%;
        width: 100%;
    }
    ```

#### Usage

The total CSS file size is 4 MB, and you don’t want to send all that data back to
the users, so you **must** use one of the following filters in your plugin or theme.

**css_flags_countries**: Load flags for one or more countries

    ```
    add_filter('css_flags_countries', function() {
        return array('no'); // Array with ISO_3166-1_alpha-2 country codes: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
    });
    ```

**css_flags_regions**: Load the flags for one or more regions. You can choose between
europe, oceania, africa, asia, northamerica, southamerica and middleeast.

    ```
    add_filter('css_flags_regions', function() {
        return array('europe'); //europe, oceania, africa, asia, northamerica, southamerica, middleeast
    });
    ```

**css_flags_exclude**: Exclude some countries from the list. This filter must be
used in combination with the `css_flags_countries` or `css_flags_regions` filters

    ```
    add_filter('css_flags_exclude', function() {
        return array('eu');
    });
    ```

**css_flags_cachetime**: Change the cache time, default it’s 7200 (60x60x2 = 2 hours)

    ```
    add_filter('css_flags_cachetime', function() {
        return 172800; // 2 days
    });
    ```

If you must (but you shouldn’t), you can load all the CSS flags using the following:

    ```
    add_filter('css_flags_countries', function() {
        return array('all'); // load all country flags (don't it's 4MB)
    });
    ```

More information at [GitHub](https://github.com/soderlind/css-flags/)

#### Credits

The original CSS file is from http://www.phoca.cz/cssflags/. If you only need the
CSS file, grab it there.

## Installation

#### Plugin

 1. Download the latest stable release
 2. Add and activate it. This will load the CSS (4 MB) and cache it using the [WordPress Transients API](https://codex.wordpress.org/Transients_API).
    The default cache time is 7200. The cache time can be changed using the `css_flags_cachetime`
    filter.
 3. Add one of the filters, see **Usage** above, to your plugin or (child) themes functions.
    php

#### Theme

 1. Extract the plugin in your (child) theme folder:
 2. Add the following to your (child) theme functions.php
 3.     ```
        require_once(dirname(__FILE__) . '/css-flags/css-flags.php');
        ```
    
 4. Add one of the filters, see **Usage** above, to your (child) themes functions.php

To get you started, here’a a [sample theme functions.php](https://github.com/soderlind/css-flags/blob/master/sample-theme-functions.php)

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“CSS Flags library” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Per Søderlind ](https://profiles.wordpress.org/pers/)

[Translate “CSS Flags library” into your language.](https://translate.wordpress.org/projects/wp-plugins/css-flags)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/css-flags/), check 
out the [SVN repository](https://plugins.svn.wordpress.org/css-flags/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/css-flags/) by [RSS](https://plugins.trac.wordpress.org/log/css-flags/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.3.0

 * **NOTE** You need to update your code, all filters have changed (changed dash
   to underscrore): `css_flags_countries`, `css_flags_regions`, `css_flags_exclude`
   and `css_flags_cachetime`.

#### 0.2.2

 * Tested & found compatible with WP 4.7.

#### 0.2.1

 * Tested & found compatible with WP 4.6.

#### 0.2.0

 * Update plugin to WordPress Coding Standards.

#### 0.1.8

 * Added uninstall.php, which removes transients and options when you uninstall 
   the plugin

#### 0.1.4

 * Added the [Rainbow (LGBT)](https://soderlind.no/css-flags-plugin-for-wordpress/#rainbow)
   flag

#### 0.1.3

 * Rewrote the plugin

#### 0.1.2

 * Added the [Sami](https://soderlind.no/css-flags-plugin-for-wordpress/#sami) flag

#### 0.1.1

 * Added CSS prefix .css-flag

#### 0.1.0

 * Initial release

## Meta

 *  Version **0.3.0**
 *  Last updated **9 years ago**
 *  Active installations **10+**
 *  WordPress version ** 4.0 or higher **
 *  Tested up to **4.7.33**
 * Tags
 * [header](https://wordpress.org/plugins/tags/header/)[link](https://wordpress.org/plugins/tags/link/)
 *  [Advanced View](https://wordpress.org/plugins/css-flags/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/css-flags/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/css-flags/reviews/)

## Contributors

 *   [ Per Søderlind ](https://profiles.wordpress.org/pers/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/css-flags/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](http://soderlind.no/donate/)