Description
This plugin is intended primarily for developers, although any WordPress user with knowledge of HTML and JavaScript can use it. The plugin implements the logic of dealing with cookies as required by EU regulation and explained here. There is also This European Union page and this European Comission page which explain basic things about cookies and legislation which regulates their usage.
Multilingual capabilities, compatible with each and every multilingual plugin. Simply wrap messages in language tags (check lang attribute of html tag, however, use _ instead of -). For example, Italian language sentence should be: [it_IT]Il nostro sito web utilizza cookie per garantire…[/it_IT] The language shortcodes have the same syntax like regular WordPress shortcodes, each opening tag with language attribute inside should have a closing tag. >ou can put language tags in first four upper fields of plugin regarding texts and page ID. Other fields do not accept language shortcodes.
Javascript event cookiesAnswered
fires on document object when cookie status is resolved, either on pressing ‘Accept’ or ‘Decline’ button.
The plugin is also updated to use SameSite cookie directive with default setting SameSite=Lax.
With proper use, you can make your website GDPR and PECR compliant. The basic principles are that user must be clearly informed about cookies that you use on a webpage (even from external services – web pages), and that user should be given a choice to decide if he wants to accept these cookies. The exception are cookies that do not identify computer (without unique identificator) and which are necessary for proper page functioning, like remembering shopping basket in an online store.
Why should I use this particular plugin?
Because it is free from bloatware, no additional CSS, JavaScript or other files are used in frontend. It offers smooth integration with minimal footprint; all code and HTML is placed inline in HTML of the page.
Plugin is particularly crafted to not allow any unwanted cookie placement before user consents, you control that by placing proper code in designated form fields in background.
The stress of the plugin is on simplicity, which also gives developers open hands to do customizations as preferred and needed. It is made to be cache – friendly; it means that it offers the same version of the page each time, no matter if user chose to opt-out of cookie usage, accepted cookies or has not yet decided. Plugin has been tested on « Cache Enabler » plugin, but it should work with other caching plugins and technologies as well. Only exception is YouTube videos which URL’s are replaced in situ in the backend, effectively making it a little different page for the caching plugin. However, this is necessary, since this YouTube code should not place any cookies if user has decided to opt-out, therefore URL exchange could not be done after the page loads.
How to use
There is a setup page titled « Cookie consent for developers » on admin panel in standard menu item ‘Settings’. It is important to understand how plugin works, and that you should divide JavaScript that places cookies into « working horse » part, which places cookies and does other things and part which starts that « working horse ».
On the plugin settings page, you should give short information about cookies or other similar technologies (from now on I will refer simple as « cookies », although that also refers to local storage, session storage, …) used and ID of the page which tells user more about use of such technologies. This info shows as info window and is customizable via CSS. Two examples, css_example1.css
and css_example2.css
are given to show different styling of this info window (or ribbon). The « learn more » page (whose ID is given) should also provide mechanism to choose between allowing only necessary cookies or allowing all cookies. More about this page later.
Then you have to enter code in the header and footer, which places cookies and the code that calls that code, separately. In this way, the code that places cookies is executed only when user allows.
Finally, you can enter opt-out code, which will block functions which place cookies if user decides not to use them.
There is also possibility to enter custom code which will run on window load event (when page fully loads) which you can use to add special effects to info window or anything else you wish.
Learn more page
On learn more page (you have to build it yourself) you should explain about the cookies and their usage in simple and understandable way to general public. The information about all cookies on your web and their purpose should be given (including third-party).
Important: Two buttons (or links) should also be given on this page, with id’s: btnAcceptCookies
and btnRefuseCookies
(without apostrophes). These buttons shall be used to enable user to choose if cookies will be used or not (except necessary ones).
Styling
You can use two provided styles, or (very likely) do your own styling. If you choose option « Not used » in the settings, you should put custom CSS in theme or other styling CSS file, while if you choose « Custom CSS file », you should provide separate CSS file.
This separate CSS file should be named ccfd_custom.css
and should be placed in the root of your theme directory, or you can use filter named ccfd_custom_css_name
to provide custom string for your CSS file. The same full path, like for wp_enqueue_style
should be given.
Live examples of two given styles you can see on pages Učiliste Altius or Blog školskog muzeja.
Ideally, you should put styling in your main theme stylesheet, or however you find more appropriate.
YouTube
The plugin has special function for YouTube. If user decides to opt-out from cookies, all YouTube URL-s will be replaced with youtube-nocookie
versions. This will also work for shortened URL’s like https://youtu.be
. In this way, YouTube videos will still function, but they will not use cookies.
Languages
English and Croatian so far.
Warning
This plugin enables entering of javascript for admin users. Do not install it if you do not trust your admins, because malicious code can be entered by them.
However, many plugins and even WordPress itself has access to development scripts, be it PHP or javascript, so this is nothing extraordinary.
Captures d’écran
Installation
Install and activate plugin from WordPress
or
- Upload
cookie-consent-for-developers
to the/wp-content/plugins/
directory - Activate the plugin through the ‘Plugins’ menu in WordPress
Go to Settings -> Cookie consent for developers and fill the plugin settings
FAQ
I will readily answer your questions.
Avis
Contributeurs/contributrices & développeurs/développeuses
« Cookie consent for developers » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.
ContributeursTraduisez « Cookie consent for developers » dans votre langue.
Le développement vous intéresse ?
Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.
Journal
v1.7.1
Popup with question does not show on learn more page.
1.7.0
Fixed compatibility issue with WordPress < 5.0. It works also on ClassicPress now.
1.6.0
Added decline button, of same importance as accept button. It is only active if some text is added to respective field in the admin part. The same is true for « learn more » link.
Added javascript event cookiesAnswered
, when cookie status is resolved, either on pressing ‘Accept’ or ‘Decline’ button – this event is fired on document object.
1.5.2
introduced multilingual capabilities and small fix to cookie serving not accepted
1.4.2
fixed css for ribbon on the bottom when body elements has paddings
1.4.1
small patches, settings moved from « Tools » menu item to « Settings », some mispelling fixed
1.4
Fixed bug in plugin deinstallation, not all created options were deleted in database.
1.3
Added SimeSite=Lax to cookie remember cookie preferences cookie
1.2
Added option to set Cookie expiry interval
1.1
Added possibility to choose between two pre-made CSS files, no file or custom style file which should be edited by developer.
1.0
- First version, fully functional, try it 😉