




{"id":479,"date":"2024-06-10T13:47:42","date_gmt":"2024-06-10T11:47:42","guid":{"rendered":"https:\/\/projektninja.com\/devblog\/?p=479"},"modified":"2024-06-15T15:47:59","modified_gmt":"2024-06-15T13:47:59","slug":"ninja-ciasteczka-wtyczka","status":"publish","type":"post","link":"https:\/\/projektninja.com\/devblog\/wtyczki-ninja\/ninja-ciasteczka-wtyczka\/","title":{"rendered":"Ninja Ciasteczka: Wtyczka do Zarz\u0105dzania Cookies w WordPress"},"content":{"rendered":"\n<p>Je\u015bli prowadzisz stron\u0119 na WordPressie i chcesz zarz\u0105dza\u0107 ciasteczkami w prosty spos\u00f3b, mamy co\u015b dla Ciebie! Nasza wtyczka &#8220;Ninja Ciasteczka&#8221; dodaje popup informuj\u0105cy u\u017cytkownik\u00f3w o ciasteczkach u\u017cywanych na Twojej stronie. Wystarczy zainstalowa\u0107 wtyczk\u0119, a skrypty i style same si\u0119 za\u0142aduj\u0105. Popup wy\u015bwietla si\u0119 tylko u\u017cytkownikom, kt\u00f3rzy jeszcze nie zaakceptowali ciasteczek. Mo\u017cesz dostosowa\u0107 jego wygl\u0105d za pomoc\u0105 CSS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ninja-ciasteczka.php<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\n\/**\n\n * Plugin Name: Ninja Ciasteczka\n\n * Description: Dodaje popup o uzyciu ciasteczek\n\n * Author: Maciej Mateusz Sajan - Projekt Ninja\n\n *\/\n\n\n\n\n\n\n\n\n\nfunction odpal_ninja_ciasteczka_js(){\n\n\n\n   wp_enqueue_script('odpal_ninja_ciasteczka_js', plugins_url( '\/ninja-ciasteczka.js', __FILE__ ), array('jquery'), null, true);\n\n    \n\n    wp_register_style('ninja_ciasteczka_style', plugins_url('ninja_ciasteczka.css',__FILE__ ));\n\n\n\n    wp_enqueue_style('ninja_ciasteczka_style');\n\n    \n\n}\n\nadd_action('init', 'odpal_ninja_ciasteczka_js');\n\n\n\n?&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">ninja-ciasteczka.js<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/* ################################################################################\n################################################################################\n################################################################################\n\nCiasteczka\n\n################################################################################\n################################################################################\n################################################################################*\/\n\nvar htmlCiasteczek = \"\";\n\n\n\/* Funckje pomocnicze *\/\nfunction sajanSetCookie(cname, cvalue, exdays) {\n    const d = new Date();\n    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\n    let expires = \"expires=\" + d.toUTCString();\n    document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=\/\";\n}\n\nfunction sajanGetCookie(cname) {\n    let name = cname + \"=\";\n    let decodedCookie = decodeURIComponent(document.cookie);\n    let ca = decodedCookie.split(';');\n    for (let i = 0; i &lt; ca.length; i++) {\n        let c = ca&#91;i];\n        while (c.charAt(0) == ' ') {\n            c = c.substring(1);\n        }\n        if (c.indexOf(name) == 0) {\n            return c.substring(name.length, c.length);\n        }\n    }\n    return \"\";\n}\n\nif (sajanGetCookie('ciasteczkoweCiasteczko') == 'true') {} else {\n    wyswietlPopup();\n}\n\n\nfunction getDomainUrl() {\n    const protocol = window.location.protocol;\n    const host = window.location.hostname;\n    const port = window.location.port;\n    return `${protocol}\/\/${host}${port ? ':' + port : ''}`;\n}\n\n\n\n\nfunction wyswietlPopup() {\n\n\n\n    async function loadPluginHtml(filePath) {\n        try {\n            const response = await fetch(filePath);\n            if (!response.ok) {\n                throw new Error(`HTTP error! status: ${response.status}`);\n            }\n            const htmlCiasteczek = await response.text();\n            return htmlCiasteczek;\n        } catch (error) {\n            console.error('Error loading the HTML file:', error);\n        }\n    }\n\n\n    loadPluginHtml(getDomainUrl()+'\/wp-content\/plugins\/ninja-ciasteczka\/ninja-ciasteczka.html').then(htmlCiasteczek =&gt; {\n        if (htmlCiasteczek) {\n            \/\/ Do something with the HTML content\n            console.log(htmlCiasteczek);\n\n            \/\/ Example: insert the HTML into a specific element on your page\n            jQuery('body').append(htmlCiasteczek);\n            jQuery('#guzik-ciasteczka-popup').click(function () {\n                \/\/console.log('kliknieto guzior w popupie trhreth');\n                jQuery('#ciasteczka-popup').remove();\n                sajanSetCookie('ciasteczkoweCiasteczko', 'true', 999999);\n            });\n        }\n    });\n\n\n\n\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">ninja-ciasteczka.html<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div id=\"ciasteczka-popup\"&gt;&lt;img alt=\"ikonka ciasteczka\" src=\"https:\/\/gooddrut.pl\/wp-content\/uploads\/cookies-badge-gooddrut.png\"&gt;\n    &lt;h2&gt;Drogi U\u017cytkowniku!&lt;\/h2&gt;\n    &lt;p&gt;Na niniejsze stronie dla Twojej wygody u\u017cywamy ciasteczek (plik\u00f3w Cookies).&lt;br&gt;S\u0105 potrzebne by zapami\u0119ta\u0107 r\u00f3\u017cne Twoje wybory i ustawienia i u\u0142atwi\u0107 Ci poruszanie si\u0119 po witrynie.&lt;br&gt;Je\u015bli nie zgadzasz si\u0119 na to, lub nie lubisz ciasteczek, opu\u015b\u0107 t\u0119 stron\u0119, ale pewnie b\u0119dziesz \u017ca\u0142owa\u0107.&lt;\/p&gt;\n    &lt;div id=\"guzik-ciasteczka-popup\" class=\"guzik\"&gt;Ok&lt;\/div&gt;\n&lt;\/div&gt;\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">ninja-ciasteczka.css<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/* Ciasteczka *\/\n\n#ciasteczka-popup {\n    background: rgb(0 0 0 \/ 95%);\n    position: fixed;\n    bottom: 0;\n    z-index: 999999;\n    width: 100%;\n    border: dashed 3px #9b9b9b;\n    display: flex;\n    flex-direction: column;\n    align-content: center;\n    flex-wrap: wrap;\n    align-items: center;\n}\n\n\n#ciasteczka-popup img {\n    width: 134px;\n    margin: 35px;\n}\n#ciasteczka-popup h2 {\n    margin: 0;\n    margin-bottom: 15px;\n}\n#ciasteczka-popup p{\n    text-align: center;\n}\n#ciasteczka-popup .guzik{\n    margin-bottom: 20px;\n    cursor: pointer;\n}\n@media(max-width:768px){\n    #ciasteczka-popup {\n        border: dashed 2px #9b9b9b;\n    }\n    #ciasteczka-popup img {\n        width: 73px;\n        margin: 13px;\n    }\n    #ciasteczka-popup p{\n        line-height: 1.1rem;\n    }\n    \n}\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Poznaj wtyczk\u0119 Ninja Ciasteczka, kt\u00f3ra pozwala zarz\u0105dza\u0107 cookies na Twojej stronie WordPress. Prosta instalacja i konfiguracja sprawi\u0105, \u017ce u\u017cytkownicy b\u0119d\u0105 \u015bwiadomi u\u017cywanych ciasteczek.<\/p>\n","protected":false},"author":1,"featured_media":549,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[259],"tags":[197,53,54,196,198,169,60,55,194,13,61,195],"class_list":["post-479","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wtyczki-ninja","tag-bezpieczenstwo","tag-ciasteczka","tag-cookies","tag-informacja","tag-narzedzie","tag-personalizacja","tag-plugin","tag-popup","tag-prywatnosc","tag-wordpress","tag-wtyczka","tag-zarzadzanie"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/projektninja.com\/devblog\/wp-json\/wp\/v2\/posts\/479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/projektninja.com\/devblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/projektninja.com\/devblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/projektninja.com\/devblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/projektninja.com\/devblog\/wp-json\/wp\/v2\/comments?post=479"}],"version-history":[{"count":8,"href":"https:\/\/projektninja.com\/devblog\/wp-json\/wp\/v2\/posts\/479\/revisions"}],"predecessor-version":[{"id":730,"href":"https:\/\/projektninja.com\/devblog\/wp-json\/wp\/v2\/posts\/479\/revisions\/730"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/projektninja.com\/devblog\/wp-json\/wp\/v2\/media\/549"}],"wp:attachment":[{"href":"https:\/\/projektninja.com\/devblog\/wp-json\/wp\/v2\/media?parent=479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/projektninja.com\/devblog\/wp-json\/wp\/v2\/categories?post=479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/projektninja.com\/devblog\/wp-json\/wp\/v2\/tags?post=479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}