Cookie Opt In
European Union law state you must ask permission for cookies. This plugin handles that for you.
European law states:
- A website must inform the visitor about both presence and function of each cookie the website creates
- A website must ask permission for all cookies other than cookies required for the correct function of the website
Cookies you ARE ALLOWED to create WITHOUT permission are * Session cookies * E-commerce cookies that provide a function for the visitor, like shopping cart or product filter settings * Cookies that define the cookie-preferences of the user
You still need to INFORM the visitor.
Cookies you are NOT allowed to create without permission are * Analytics cookies * Advertisement cookies * Any cookie from a third party (i.e. e.g. neither your website nor your visitor)
Again, you also need to INFORM the visitor.
This plugin will handle all these for you, but it takes some configuration. If the "offending" scripts are added by action, you can configure the plugin to remove_action it when appropriate. If an action-removal is not possible you must adapt your plugins and themes.
Technical instructions are available in the plugin after installation.
This plugin is - at the moment - no longer under active development. Fixes reported will be applied as well as compatibility-patches for new WordPress versions.
|Author||Clearsite Webdesigners | Remon Pel
|Tags||consent, cookie, european union, legal, Multi language, WPML|
Example skin - notification bar
Example skin - cookie selection panel
Example skin - preferences button
First visit shows this form. The content of the form is dependant on the configuration, the styling is done by CSS.
The INFO that is set in settings is visable, in this case, by clicking the ? . A read-more link is only shown when an URL is filled in.
When the visitor has made a choice, (s)he can change it by clicking the cookie (also highly customisable).
The plugin installation is pretty straightforward.
1. Upload the extracted folder to the
2. Activate the plugin through the 'Plugins' menu in WordPress
3. See the admin pages for more info.
- Fixed: order of screenshots on WordPress.org.
- Updated: FAQ
- Changed: No longer try to set a cookie on December 31st 2149, use December 31st 2037 instead. Hopefully this fixes some issues on 32-bit operating systems.
- Fixed: one style rule was lost, so we placed a backup one for now
- Updated: Added PSD files for making a new skin easier
- Updated: Placed all color styles at the top of the skin-stylesheet making color adjustment easier
- Fixed: A missing text in a jQuery().html() call results in a broken chain, causing the script to crash, burn, explode and die.
- Added: You can now alter the settings panel from your skin. See the example skin on how to do that.
- Changed: Some minor code cleanup. Plans for a rigorous overhaul are underway. Of course - with backwards compatibility always in mind.
- Fixed: No longer cache actions on every front-page hit. Don't know what I was thinking. With about 30 plugins active, this would add about 2 seconds to a page load.
- Added: Because of this, caching of actions is only done when asked for; a link is now present on the admin page to clear the cache and a reload of the website will fill it again - once - until the cache is cleared again.
- Fixed: No longer try to remove actions that are references to by objects. It appears that the ID of the action is different each WordPress iteration, so it wasn't functioning at all anyways. Sad note to non-developers; removing an action that is referenced to by object now requires programming skill and in most cases hacking the plugin that adds the action.
- Fixed: a style issue in the example skins that would make the top-bar inherit style from the page-theme. In some cases the site would not be pretty :)
- Added: missing translations for admin interface
- Added: Now you can set how the system responds if there is no cookie. Cookies are Accepted or Denied until the visitor makes a choice. This is very useful if you want Google to see you're using Google+ and Analytics. Third setting is have Accept/Deny determined by the per-cookie-type-settings 'Default value for new visitors'.
- Added: a little bit of code comment
- Changed: example now reads if (!function_exists(...) || coia(...)) so the code will return true if either the visitor accepts or the function doesn't exist (in case the plugin is off or missing)
- Fixed: Upgrade from old data-structure now deletes old setting after upgrade, preventing the old settings from reverting the new settings.
- Fixed: Found some more E_NOTICE messages
- Fixed: bug that prevented the use of other languages other than NL and EN.
- Updated: Interface translation for nl_NL.
- Added: POT Interface translation template added.
- Fixed: Prevent E_NOTICE messages - http://wordpress.org/support/topic/plugin-cookie-opt-inbugsfixes-lots-of-php-error-notices
- Feature added: Cookie-Opt-In is now WPML Aware!
- Automatically converts old settings to new
- Settings page handles settings for the selected language through the WPML Language Selector (Admin)
- Front-end listens to the language selected by the visitor (Front-end)
- Removes: Debug console.log line in js file
- Added: more exclusions of Google Analytics Filters/Actions to the default list
- Fixed: When clicking View Details, then accept without selecting a cookie-type, settings were not stored (Example skin issue)
- Minor fixes in translations and texts
- Made our personal skin available as a demo skin for all of you :)
- Updated information shown on WordPress.org
- Fixed issue with preference-cookie not sticking on 32-bit server
- Allow other types of buttons in interface (not just input.button, but any item with class button inside the scope)
- Initial release to WordPress.org
No questions asked as of yet, leave a comment on wordpress.org if you need help or contact us by other means.
How to activate the Example skin?
A skin to this plugin is - in effect - a separate WordPress plugin. The Example included is called 'Cookie-Opt-In - Example skin'.
How can I create my own skin?
Examine the plugin file 'wp_cookie_opt_in_skin.php'. Here you see reference to a JS and a CSS file. Also examine these two files. There are 4 PSD files inside the CSS folder to generate new images
I keep getting presented with the "permission" tab on every page even after accepting "Allow Cookies". Am I doing something wrong?
Maybe, maybe not
The choices of the visitor are stored in a cookie (yes, that's allowed by law :) ). If the browser is set to reject cookies or delete them on shutdown, you WILL have to accept cookies every time. There could also be something else going wrong. We noticed that 32-bit servers cannot produce a serial-time-number for dated beyond December 31st 2037 (more or less), while we would prefer December 31st 2149 which is closer to 'Forever' :P. Overkill? Maybe so. Try and set the cookie-lifetime (TTL) to a short value, say 6 months, and see if the problem goes away.
Are you sure you got the interpretation of the law correctly?
No. We are not a legal company. We have had a long session of investigation into this and have called a handful legal companies to eventually present a clean and simple interpretation. Sure, we could be wrong, but we seriously doubt it.
You state this is European law, but is that true? Isn't this the Dutch law and doesn't European law supersede that?
I have had this question and in more detail, the question stated that:
Dutch law obligated website-owners to ask for permission, while European law just said to inform visitors.
If this were true, then all the fuss on this topic the last 2 years was for nothing, so it probably is not true.
The question also stated that European law supersedes Dutch law and therefore we only need to inform.
Well, sometimes European law superseeds Dutch law and sometimes it's the other way round. We are NOT legal people. We can't be 100% sure, but we ARE 99% sure that permission on cookies is needed. Not complying to the law could result in a hefty fine. We would not want to take that risk, but, if you feel that you only need to inform your visitors? Great! This plugin can do that for you, of pick any other method of displaying a message. You probably won't even need a plugin for that.
You may provide arbitrary sections, in the same format as the ones above. This may be of use for extremely complicated plugins where more information needs to be conveyed that doesn't fit into the categories of "description" or "installation." Arbitrary sections will be shown below the built-in sections outlined above.