Salve a tutti è da molti mesi che ho implementato il banner per l'accetazione dei cookie ha sempre funzionato(forse perchè prima avevo un'altro tema) di recente però ho notato che in questo nuovo tema (un child fatto partendo dall'arras) non si visualizza nessun banner ed è strano i codici da me inseriti nei file del mio tema sono i seguenti
Questo è il file js inserito nel mio sito con filezilla
Codice:
/*
Copyright 2014 Google Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
(function(window) {
if (!!window.cookieChoices) {
return window.cookieChoices;
}
var document = window.document;
// IE8 does not support textContent, so we should fallback to innerText.
var supportsTextContent = 'textContent' in document.body;
var cookieChoices = (function() {
var cookieName = 'displayCookieConsent';
var cookieConsentId = 'cookieChoiceInfo';
var dismissLinkId = 'cookieChoiceDismiss';
function _createHeaderElement(cookieText, dismissText, linkText, linkHref) {
var butterBarStyles = 'position:fixed;width:100%;background-color:#eee;' +
'margin:0; left:0; top:0;padding:4px;z-index:1000;text-align:center;';
var cookieConsentElement = document.createElement('div');
cookieConsentElement.id = cookieConsentId;
cookieConsentElement.style.cssText = butterBarStyles;
cookieConsentElement.appendChild(_createConsentText(cookieText));
if (!!linkText && !!linkHref) {
cookieConsentElement.appendChild(_createInformationLink(linkText, linkHref));
}
cookieConsentElement.appendChild(_createDismissLink(dismissText));
return cookieConsentElement;
}
function _createDialogElement(cookieText, dismissText, linkText, linkHref) {
var glassStyle = 'position:fixed;width:100%;height:100%;z-index:999;' +
'top:0;left:0;opacity:0.5;filter:alpha(opacity=50);' +
'background-color:#ccc;';
var dialogStyle = 'z-index:1000;position:fixed;left:50%;top:50%';
var contentStyle = 'position:relative;left:-50%;margin-top:-25%;' +
'background-color:#fff;padding:20px;box-shadow:4px 4px 25px #888;';
var cookieConsentElement = document.createElement('div');
cookieConsentElement.id = cookieConsentId;
var glassPanel = document.createElement('div');
glassPanel.style.cssText = glassStyle;
var content = document.createElement('div');
content.style.cssText = contentStyle;
var dialog = document.createElement('div');
dialog.style.cssText = dialogStyle;
var dismissLink = _createDismissLink(dismissText);
dismissLink.style.display = 'block';
dismissLink.style.textAlign = 'right';
dismissLink.style.marginTop = '8px';
content.appendChild(_createConsentText(cookieText));
if (!!linkText && !!linkHref) {
content.appendChild(_createInformationLink(linkText, linkHref));
}
content.appendChild(dismissLink);
dialog.appendChild(content);
cookieConsentElement.appendChild(glassPanel);
cookieConsentElement.appendChild(dialog);
return cookieConsentElement;
}
function _setElementText(element, text) {
if (supportsTextContent) {
element.textContent = text;
} else {
element.innerText = text;
}
}
function _createConsentText(cookieText) {
var consentText = document.createElement('span');
_setElementText(consentText, cookieText);
return consentText;
}
function _createDismissLink(dismissText) {
var dismissLink = document.createElement('a');
_setElementText(dismissLink, dismissText);
dismissLink.id = dismissLinkId;
dismissLink.href = '#';
dismissLink.style.marginLeft = '24px';
return dismissLink;
}
function _createInformationLink(linkText, linkHref) {
var infoLink = document.createElement('a');
_setElementText(infoLink, linkText);
infoLink.href = linkHref;
infoLink.target = '_blank';
infoLink.style.marginLeft = '8px';
return infoLink;
}
function _dismissLinkClick() {
_saveUserPreference();
_removeCookieConsent();
return false;
}
function _showCookieConsent(cookieText, dismissText, linkText, linkHref, isDialog) {
if (_shouldDisplayConsent()) {
_removeCookieConsent();
var consentElement = (isDialog) ?
_createDialogElement(cookieText, dismissText, linkText, linkHref) :
_createHeaderElement(cookieText, dismissText, linkText, linkHref);
var fragment = document.createDocumentFragment();
fragment.appendChild(consentElement);
document.body.appendChild(fragment.cloneNode(true));
document.getElementById(dismissLinkId).onclick = _dismissLinkClick;
}
}
function showCookieConsentBar(cookieText, dismissText, linkText, linkHref) {
_showCookieConsent(cookieText, dismissText, linkText, linkHref, false);
}
function showCookieConsentDialog(cookieText, dismissText, linkText, linkHref) {
_showCookieConsent(cookieText, dismissText, linkText, linkHref, true);
}
function _removeCookieConsent() {
var cookieChoiceElement = document.getElementById(cookieConsentId);
if (cookieChoiceElement != null) {
cookieChoiceElement.parentNode.removeChild(cookieChoiceElement);
}
}
function _saveUserPreference() {
// Set the cookie expiry to one year after today.
var expiryDate = new Date();
expiryDate.setFullYear(expiryDate.getFullYear() + 1);
document.cookie = cookieName + '=y; expires=' + expiryDate.toGMTString();
}
function _shouldDisplayConsent() {
// Display the header only if the cookie has not been set.
return !document.cookie.match(new RegExp(cookieName + '=([^;]+)'));
}
var exports = {};
exports.showCookieConsentBar = showCookieConsentBar;
exports.showCookieConsentDialog = showCookieConsentDialog;
return exports;
})();
window.cookieChoices = cookieChoices;
return cookieChoices;
})(this);
questo l'ho inserito prima di </body> nel file footer.php
Codice:
<script src=".../privacy_policy/cookiechoices.js"></script>
<script>//<![CDATA[
document.addEventListener('DOMContentLoaded', function(event) {
cookieChoices.showCookieConsentBar('Questo sito si serve dei cookie per fornirvi servizi migliori. Cliccando su accetto i cookie acconsenti all'utilizzo dei cookie.',
'Accetto i cookie', 'Maggiori Informazioni',
'http://skysouls.altervista.org/blog/politica-dei-cookie-di-questo-sito/');
});
//]]></script>
e infine ho inserito questo nel css del mio tema
Codice:
#cookieChoiceInfo { /* Imposto le proprietà del banner/dialog box e caratteri del messaggio */
background-color: #000; /* Lo fondo è di colore nero (#000) */
font-size: 16px; /* i caratteri devono essere grandi 16 pixel */
color: #DDD; /* il colore dei caratteri è grigio chiaro (#DDD) */
padding: 10px; /* lo spazio intorno al messaggio (sopra, sotto e di lato) quindi il bordo dista 10 pixel */
opacity: .8; /* questa proprietà modifica la trasparenza del banner/dialogbox */
}
#cookieInfoLink {
color: #E00; /* il testo del link che aprire la pagina della cookie policy è rosso (#E00) */
text-decoration: underline; /* questa proprietà indica che il testo del link è sottolineato */
}
#cookieInfoLink:hover { /* la parola hover, vicino al selettore, indica che le proprietà seguenti verranno applicate... */
/* ... al link che conduce alla cookie policy solo quando il mouse ci passa sopra */
color: #F44; /* il testo del link in questo caso diventa di un rosso più chiaro al passaggio del mouse... */
test-decoration:none; /* .... e allo stesso tempo il testo non sarà più sottolineato */
}
#cookieChoiceDismiss { /* Impostiamo per il link "accetto/ok/chiudi" le proprietà per renderlo... */
/* ...visivamente come un pulsante */
background-color: #0A0; /* lo sfondo è verde (#0A0) */
color: #FFF; /* Il colore del testo è bianco (#FFF) */
text-decoration: none; /* Il testo non è sottolineato */
font-weight: 600; /* Il testo è in grassetto */
font-size: 16px;
padding: 3px 10px; /* Imposto lo spazio tra i caratteri e il bordo del pulsante 2pixel sopra e sotto e 10px ai lati */
border-radius: 3px; /* Lo sfondo del pulsante ha i bordi arrotondati con un raggio di 3 pixel */
}
#cookieChoiceDismiss:hover { /* Passando il mouse sopra il pulsante, questo cambia colore in verde chiaro. */
background-color: #0F0;
}
Qualcuno sa dirmi dove sbaglio e perchè non appare il banner nel mio sito? grazie in anticipo a tutti!