EU Cookie Law


EU Cookie Law is a light, elegant and powerful solution that allows your website to comply the european cookie law by informing users that your site has cookies, with a popup for more information and option to lock scripts before acceptance (as required by Italian Law – Garante della Privacy dispositions).

You can customise the style to perfectly fit your website and you have many options to control cookies behaviour after and before acceptance.



  • GDPR compliant (if you have doubts, ask in the forum)
  • Customizable banner (color, position, strings)
  • Consent by Clicking, Scrolling and Navigation
  • Set your page, popup or custom URL for Cookie Policy
  • Set cookie expiry
  • Fully responsive for tablets and smartphones
  • Compatible with mobile themes and plugins
  • Compatible with multilanguage plugins
  • Certified for WPML
  • Shortcode to revoke cookie consent
  • Shortcode to show a list of cookies
  • Compatible with Disqus and Jetpack InfiniteScroll

Advanced Features

  • Block scripts if cookies are not accepted
  • Automatic block of iframes, embeds, scripts and objects
  • Complete set of developer Shortcodes and PHP Functions
  • Manual and Automatic set width and height of blocked content

Simply install the plugin and follow the instructions on the Settings page.

Cookie block

You can lock cookies using [cookie] and [/cookie] shortcodes in every post, page and widget. You can use php functions too:
if ( !function_exists(‘cookie_accepted’) || cookie_accepted() ) {
// Your code

More Shortcodes & PHP Functions are available in our faqs.

EU Cookie Law started from Peadig in 2012 and in june 2015 has became part of that aims to give Italian Public Government powerful open source solutions for websites.


You can add your translations here:

If you want to be translation editor for your locale, please send your username and language code (eg. it_IT) to
@tabakisp (el)

Thanks to: Gerard Weijer, Karsten Höfner, Mariusz Kołacz, Marco Milesi, Núria Nadal




This section describes how to install the plugin and get it working.

  1. Upload eu-cookie-law directory to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to the EU Cookie settings page
  4. Go through the steps and hit update!


Shortcodes available

You can block code in posts, pages and widget by wrapping it with these shortcode:
[cookie] … [/cookie]
[cookie height=”100px” width=”100%” text=”Hi WordPress”] //My code [/cookie]

To display the button to revoke consent (if cookies accepted) or accept cookies:

You can also revoke consent by adding ?nocookie=1 parameter to your url.
Ex. or

To display a list of active cookies on user client:

PHP Functions available

You can check the consent with:
if ( function_exists(‘cookie_accepted’) && cookie_accepted() ) {
// Your code

If you want to display the cookie-block message:
generate_cookie_notice($height, $width);
generate_cookie_notice_text($height, $width, $text);

if ( function_exists('cookie_accepted') && cookie_accepted() ) {
    // Your code
} else {
    generate_cookie_notice($height, $width);

Please note that cookie_accepted returns true if you disable it in the settings panel, if you excluded the current page or if you are a search engine 🙂

If you think that we should enhance something let us know in the forum.

Javascript Filters

Sometimes it could be useful to trigger custom actions on cookie consent, so we added useful filters.

If you want to play, just download our sample plugin and start coding!

Auto block

The plugin offers an exclusive function that allows you to block iframes, embeds, objects and scripts in posts, pages and widgets. This can be activated in the plugin options panel because is disabled by default.

To exclude a page from the filter set a custom post field eucookielaw_exclude to 1. Just enable “Custom Fields” in “Screen Options” and in the “Custom Fields” box type the name, the value, and hit “Add Custom Field”.

If you want to exclude a script, you can type between <script> and </script> the string eucookielaw_exclude.
Ex. add class=”eucookielaw_exclude” or a comment.


We are working to improve cache compatibility. As for now, conflicts may occur.

WP Super Cache (sperimental*): open the file wp-content/advanced-cache.php and add the following immediately after <?php opening:
if ( !isset( $_COOKIE[‘euCookie’] ) ){ return; }

So that you have:
if ( !isset( $_COOKIE[‘euCookie’] ) ){ return; }

function wpcache_broken_message() {

This plugin is officially certified for WPML. You can translate every string with WPML’s String Translation module.

WPML’s String Translation module is part of the Multilingual CMS package. To enable it, you first need to download and install it from your account > Downloads section.

Then, go to WPML->String Translation and use the display filter, at the top of the String Translation page, to determine which strings to display.

Click on the translations link to open the translation editor and adjust the strings as you want. Be sure to click on “translation is complete”” after you translate. Incomplete translations will not appear in the site.


Too many problems

I am sorry to give this plugin such a low rating as I am sure a lot of work was done, but…
The biggest problem is that when using the shortcode [cookie] “acceptance” seems to automatically occur, without any user intervention, after a few seconds. It seems like there is some sort of uncontrollable timeout occurring.
Another big problem is that the [cookie-list] shortcode doesn’t detect the facebook pixel and so I can only assume that the entire plugin can’t detect facebook pixel.

great thing and easy to use

i’m glad that i didn’t get the first plugin the list showed me. i took this great plugin – easy to use, easy to configure – works perfect. thanks a lot! great job! *thumb up*

Useless plugin

– Cookies are already stored when the site loads.
– No support from the authors on this forum.

Read all 158 reviews

Contributors & Developers

“EU Cookie Law” is open source software. The following people have contributed to this plugin.


“EU Cookie Law” has been translated into 12 locales. Thank you to the translators for their contributions.

Translate “EU Cookie Law” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


3.0.5 10.06.2018

  • Various bug fixes

3.0.2 09.06.2018

  • Improved caching compatibility by adding plugin version as “?123” parameter on scripts.js enqueue
  • Added another layer to check if cookies are accepted, so that the banner should disappear – it didn’t in some configurations (provide feedback, thanks)
  • Better .click detection on banner click – By @pelzi
  • Added version 2.13 in tags, so that in case of v3.x conflicts you can rollback

3.0.1 26.05.2018

  • Fixed critical bug with some browsers (for example Internet Explorer) that killed “Accept” button

3.0 24.05.2018 – First GDPR release

Hello! This is our first GDPR release and hope you’ll like it. Some functions have changed, so report bugs in our support forum to discuss them.
Also, if you don’t use technical cookies only, we suggest to turn AutoBlock function ON.

  • Added option to exclude script block: useful if you only wants to block iframe/embeds, but not scripts. Scripts (like Google Analytics) can be always be blocked with our placeholders
  • Added more javascript-oriented logic to increase cache compatibility
  • SCROLL CONSENT and NAVIGATION CONSENT automatically disabled if you use AutoBlock
  • Added developer filter in Javascript for consent. Take a look on our FAQ or directly head to download our sample plugin download to start coding!
  • Improved [cookie-control] shortcode style to revoke consent
  • Added 10px in style.css for blocked cookies banner
  • Some code cleanup for faster performances

2.13 24.04.2018

  • Fixed bug with WordPress default Youtube embeds. Thanks to @rfmcomposer + @bitmed
  • Added better php check to block cookies in our faq – improvement by @rfmcomposer

2.12 23.04.2018

  • GDPR: we are working to give You the best plugin to comply GDPR. Expect news soon! Please note that we already have a shortcode you can use to let users revoke the consent (see faq) and the accept button could already be considered as an “active consent” with 1) cookie block enabled 2) scroll and navigation consent disabled
  • Fixed typo

2.11 24.11.2017

  • Checked and confirmed WP 4.9 compatibility

2.10 05.01.2017

  • Added filter eu_cookie_law_frontend_banner to change banner design with WordPress actions
  • Added filter eu_cookie_law_frontend_popup to change popup box design with WordPress actions
  • Fixed problem with “nocookie” url parameter in cookie-control shortcode causing bugs in accept/revoke (#reported by Carlo Di Somma, Web Napoli Agency)
  • Enhanced performance

2.9.4 18.12.2016

  • Minor changes and WP 4.7 compatibility check

2.9.3 06.07.2016

  • Minor changes and WP 4.6 compatibility check

2.9.2 03.04.2016

  • Merged ac1d558 6937c2a daca37c thanks to @stephenharris on git
  • Updated wpml-config.xml

2.9.1 31.01.2016

  • Added custom filter to exclude Jetpack InfiniteScroll

2.9 30.01.2016

  • Improved auto block system
  • Better exclusion of search engines from the block
  • Better cache compatibility
  • Performance improvements

2.8.5 31.12.2015

  • Full switch to
  • That’s all for 2015. Thank you everyone for using EU Cookie Law and Happy New Year from Peadig and WPGov!

2.8.4 16.11.2015

  • Prevent bot from cookie exclude (beta) – includes mshot screenshot previews
  • Minor changes (typos)

2.8.2 11.11.2015

  • Removed fr_FR and nl_NL (now automatically bundled by

2.8.1 27.10.2015

  • Added option to exclude manually a script. See our faqs
  • Readme changes

2.8 17.10.2015

  • Added Top Center and Bottom Center for banner position
  • Added **target=”_blank” option for cookie policy link
  • Removed ITALIAN and DEUTSCH languages. They are now bundled by WordPress. After some minutes you update to this version, you will get a notice to update translations in your dashboard. Other languages will come soon.
  • Minor changes

2.7.3 15.10.2015

  • Minor change for translation system

2.7.2 01.10.2015

  • Minor change for translation system

2.7.1 28.09.2015

  • jQuery fix – thanks @dukessa and @froussette

2.7 25.09.2015

  • Added option to define custom URL for cookie page
  • Fixed bug in Firefox – Thanks @gandalfthegrey
  • Added Polish – Thanks Mariusz Kołacz
  • Fixed some missing admin-side translations – Thanks Mariusz Kołacz
  • Minor changes and performance improvements

2.6.3 26.08.2015

2.6.2 21.08.2015

  • Fixed incompatibility with some plugins (eg. Ultimate Tag Cloud Widget)
  • Improved performances

2.6.1 19.08.2015

  • Fixed Cookie Control bugs in some servers
  • Fixed wrong domain when set cookie in some servers
  • Added German (de_DE) by Karsten Höfner
  • Added Spanish (es_ES) by Núria Nadal

2.6 14.08.2015

  • Better navigation consent
  • Fixed occasional bugs with “headers already sent”
  • Added cookie-list shortcode (usage in FAQS)
  • Added allowed “0” value to cookie lenght (for SESSION)

2.5.9 05.08.2015

  • Improved cache compatibility
  • Added WPML instructions in FAQS
  • Added cookie-control shortcode strings for customization+translations
  • Minor changes

2.5.8 02.08.2015

  • Removed refresh if autoBlock not enabled
  • Improved autoBlock

2.5.7 02.08.2015

  • eucookielaw_exclude field now applies to content only
  • Performance improvements
  • Minor changes

2.5.6 20.07.2015

  • Improved translation system
  • Improved compatibility with WPML
  • Fixed some missing strings in admin panel
  • Added es_ES, fr_FR, de_DE translation files (blank)

2.5.5 19.07.2015

2.5.4 17.07.2015

  • Minor changes
  • Added WP Super Cache tips in faqs (sperimental)
  • Added Revoke Consent Link in faqs
  • Improved faqs
  • New banner

2.5.3 15.07.2015

  • Improved navigation consent (now it doesn’t reload the page)
  • Improved performance (load twice faster than 2.5.2)
  • Added parameter to allow you to create links to revoke cookie consent (sperimental)

2.5.2 05.07.2015

  • Improved autoblock

2.5.1 03.07.2015

  • Compatible with WPML
  • Better AutoBlock function (Disqus block included!)
  • Now scripts block doesn’t generate the message (limited for iframe, object and embed)
  • Minor changes

2.5 24.06.2015

  • Removed acceptance on scroll while in cookie page
  • Added Continue Navigation acceptance (beta)
  • Added Multisite Support (beta)

2.4.2 11.06.2015

  • Fixed occasional wrong date when setting cookies

2.4.1 10.06.2015

  • Solved a conflict with “Register Plus Redux”
  • Minor changes

2.4 09.06.2015

  • Added <objects> to auto block feature
  • Added ability to exclude pages from auto block feature (see our faqs) (beta)
  • Added option to consider scrolling as acceptation (disabled by default)
  • Improved style.css
  • Remove inline javascript in favor of WordPress enqueue

2.3.1 08.06.2015

  • Removed “hours” in expiration (it caused bugs with internationalizationation).
  • Please re-save the field. It will be considered as “days” while calculating expiration date of cookie.

2.3 08.06.2015

  • Added automatic block of iframes, embeds, scripts (beta)
  • Added option to enable/disable tinymce button
  • Performance improvements
  • Minor changes

2.2.2 08.06.2015

  • Fixed conflict with the_content filter

2.2.1 08.06.2015

  • Fixed expire date bug
  • Fixed shortcodes in widgets
  • Minor improvements

2.2 05.06.2015

  • Added customization options (ex. background+font color)
  • Added multilanguage support
  • Added italian language
  • Better UI for options panel
  • Minor bugfixes

2.1.1 + 2.1.2 04.06.2015

  • Fixed shortcodes in [cookie]...[/cookie] not being correctly rendered
  • Best tinymce icon with windowmanager
  • New and enhanced developer functions

2.1 03.06.2015

  • Added option to link directly to a page instead of popup
  • Added ability to change default cookie-lock message
  • Added [cookie-control] shortcode
  • Minor changes + bugfixes

2.0.3 + 2.0.4 + 2.0.5 – 03.06.2015

  • Fixed cookie storing caused by wrong iso date
  • Better css for small screens
  • Fixed jquery enqueue

2.0 + 2.0.1 + 2.0.2 – 02.06.2015

  • Plugin reload


  • Fixed cookie storing bug in Firefox


  • Fixed cookie storing bug
  • Added in CSS support for IE