Пользовательское соглашение о использования файлов cookie на WordPress
На сайте есть такое модальное окно
Не знаю как нужно его реализовать. Что должно быть при нажатии на "Соглашаюсь с условиями". Просто окно закрыть или кокой-то код должен сработать. Сайт на WordPress.
Вот html
<div class="cookie_modal">
<div class="row">
<div class="cookie">
<div>
<p>Продолжая пользоваться сайтом,<br /> вы соглашаетесь с условиями <a href="#">использования файлов cookie</a>.</p>
</div>
<div>
<a href="#" class="blue_pill close_cookie">Соглашаюсь с условиями</a>
</div>
</div>
</div>
</div>
Ответы (1 шт):
Автор решения: KAGG Design
→ Ссылка
По нажатию на кнопку, надо поставить куки, чтобы больше не выводить пользователю это сообщение.
Вот файл с реализацией.
<?php
/**
* GDPR class file.
*/
/**
* Class GDPR
*/
class GDPR {
/**
* Init class.
*/
public function init(): void {
add_action( 'wp_print_footer_scripts', [ $this, 'print_footer_scripts' ] );
}
/**
* Print the GDPR message in footer.
*/
public function print_footer_scripts(): void {
?>
<div id="cookie-notice">
<div>
<?php esc_html_e( 'This website uses cookies to ensure you get the most relevant experience on our website.' ); ?>
</div>
<div>
<button onclick="acceptCookie();"><?php esc_html_e( 'Accept' ); ?></button>
</div>
</div>
<style>
#cookie-notice {
background: #ddd;
font-family: 'Open Sans', sans-serif;
font-size: 15px;
padding: 0 14px;
position: fixed;
bottom: 0;
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
visibility: hidden;
z-index: 1000000;
}
#cookie-notice div {
padding: 20px 10px;
}
#cookie-notice button {
color: #fff;
background: #40b123;
font-family: 'Open Sans', sans-serif;
font-size: 15px;
text-transform: uppercase;
padding: 10px 15px;
width: 100%;
cursor: pointer
}
</style>
<script>
function acceptCookie() {
document.cookie = 'gdpr-cookie=1; expires=Thu, 18 Dec 2030 12:00:00 UTC; path=/';
document.getElementById( 'cookie-notice' ).style.visibility = 'hidden';
}
document.cookie.indexOf( 'gdpr-cookie' ) < 0 &&
( document.getElementById( 'cookie-notice' ).style.visibility = 'visible' );
</script>
<?php
}
}
( new GDPR() )->init();
