Plugin Directory

Cookie Opt In

European Union law state you must ask permission for cookies. This plugin handles that for you.


  • Internal changes: now update WordPress by way of trunk instead of just the tags.


  • Fixed: For those running PHP in "show all the damn errors" mode, fixed all issues I could find.


  • Added: User suggested changes for displaying correctly in responsive designs


  • Fixed: Default cookie was not correct in javascript with 'If no cookie' settings set to 'Allow'


  • Fixed: one style rule was lost, so I 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.



  • 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

Requires: 3.2.1 or higher
Compatible up to: 3.6.0
Last Updated: 2013-8-31
Active Installs: 600+


5 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,2,2 100,1,1
0,1,0 100,1,1 100,1,1