{"id":318711,"date":"2026-06-02T13:57:48","date_gmt":"2026-06-02T13:57:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bato-cookie-consent\/"},"modified":"2026-06-02T13:57:16","modified_gmt":"2026-06-02T13:57:16","slug":"bato-cookie-consent","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/bato-cookie-consent\/","author":23389989,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"Bato Cookie Consent","header_author":"Bato Web Agency","header_description":"WordPress integration for the Bato Cookie Consent JavaScript library.","assets_banners_color":"282f3e","last_updated":"2026-06-02 13:57:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/batowebagency\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":33,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"batowebagency","date":"2026-06-02 13:57:16"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3558138,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3558138,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3558138,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3558124,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3558124,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3558124,"resolution":"1","location":"assets","locale":"","width":1200,"height":700},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3558124,"resolution":"2","location":"assets","locale":"","width":1200,"height":700},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3558124,"resolution":"3","location":"assets","locale":"","width":1200,"height":700},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3558124,"resolution":"4","location":"assets","locale":"","width":1200,"height":700},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3558124,"resolution":"5","location":"assets","locale":"","width":1200,"height":700},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3558124,"resolution":"6","location":"assets","locale":"","width":1200,"height":700},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3558124,"resolution":"7","location":"assets","locale":"","width":1200,"height":700}},"screenshots":{"1":"Cookie consent banner on the frontend with accept, reject, and customize actions.","2":"Centered cookie consent banner displayed in German language.","3":"Cookie Preferences modal with customizable consent settings.","4":"Editing the main plugin settings and selecting the preferred language.","5":"Editing multilingual content for all supported languages, including RTL languages.","6":"Prepared examples demonstrating advanced usage scenarios."}},"plugin_section":[],"plugin_tags":[20011,389,131786,131785,396],"plugin_category":[54],"plugin_contributors":[265474],"plugin_business_model":[],"class_list":["post-318711","plugin","type-plugin","status-publish","hentry","plugin_tags-consent","plugin_tags-cookies","plugin_tags-eprivacy","plugin_tags-gdpr","plugin_tags-privacy","plugin_category-security-and-spam-protection","plugin_contributors-batowebagency","plugin_committers-batowebagency"],"banners":{"banner":"https:\/\/ps.w.org\/bato-cookie-consent\/assets\/banner-772x250.png?rev=3558124","banner_2x":"https:\/\/ps.w.org\/bato-cookie-consent\/assets\/banner-1544x500.png?rev=3558124","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/bato-cookie-consent\/assets\/icon.svg?rev=3558138","icon":"https:\/\/ps.w.org\/bato-cookie-consent\/assets\/icon.svg?rev=3558138","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bato-cookie-consent\/assets\/screenshot-1.png?rev=3558124","caption":"Cookie consent banner on the frontend with accept, reject, and customize actions."},{"src":"https:\/\/ps.w.org\/bato-cookie-consent\/assets\/screenshot-2.png?rev=3558124","caption":"Centered cookie consent banner displayed in German language."},{"src":"https:\/\/ps.w.org\/bato-cookie-consent\/assets\/screenshot-3.png?rev=3558124","caption":"Cookie Preferences modal with customizable consent settings."},{"src":"https:\/\/ps.w.org\/bato-cookie-consent\/assets\/screenshot-4.png?rev=3558124","caption":"Editing the main plugin settings and selecting the preferred language."},{"src":"https:\/\/ps.w.org\/bato-cookie-consent\/assets\/screenshot-5.png?rev=3558124","caption":"Editing multilingual content for all supported languages, including RTL languages."},{"src":"https:\/\/ps.w.org\/bato-cookie-consent\/assets\/screenshot-6.png?rev=3558124","caption":"Prepared examples demonstrating advanced usage scenarios."},{"src":"https:\/\/ps.w.org\/bato-cookie-consent\/assets\/screenshot-7.png?rev=3558124","caption":""}],"raw_content":"<!--section=description-->\n<p>Bato Cookie Consent adds a configurable cookie consent interface to WordPress. It provides an admin settings screen for banner content, policy links, consent categories, cookie lifetime, floating preferences button, and Google Consent Mode integration.<\/p>\n\n<p>The plugin is built for site owners and developers who need a local, customizable consent banner without loading third-party assets by default.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Consent banner with accept all, reject all, and custom preferences actions.<\/li>\n<li>34 built-in frontend languages with browser\/site language detection and RTL support for Hebrew and Arabic.<\/li>\n<li>Necessary, analytics, marketing, and preferences categories.<\/li>\n<li>Editable banner, modal, button, category, and embed placeholder text.<\/li>\n<li>Privacy policy and cookie policy links.<\/li>\n<li>Floating preferences button after a visitor has saved choices.<\/li>\n<li>YouTube and Vimeo embed placeholders that can wait for marketing consent.<\/li>\n<li>Developer filter for adding scripts, embeds, and advanced configuration.<\/li>\n<li>Optional Google Consent Mode updates when <code>gtag<\/code> is already present on the site.<\/li>\n<li>Translation-ready PHP and JavaScript strings.<\/li>\n<\/ul>\n\n<h4>Supported Languages<\/h4>\n\n<p>The frontend consent interface includes built-in content for 34 languages: Arabic, Bulgarian, Catalan, Croatian, Czech, Danish, Dutch, English, English (UK), Estonian, Finnish, French, German, Greek, Hebrew, Hungarian, Italian, Japanese, Latvian, Lithuanian, Macedonian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Turkish, Ukrainian, and Welsh.<\/p>\n\n<p>The plugin can follow the visitor's browser language, auto-detect the WordPress site language where possible, or use a fixed language selected in the settings.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>Bato Cookie Consent stores the visitor's consent choices in the visitor's browser using a cookie or local storage, depending on the plugin settings. The plugin does not collect personal data, send analytics, or contact external servers by default.<\/p>\n\n<p>If you configure third-party scripts or embeds, those services may process visitor data according to their own terms and privacy policies. The plugin can help delay those scripts or embeds until the relevant consent category is allowed, but it does not guarantee legal compliance. Site owners are responsible for configuring the banner, policies, and scripts for their jurisdiction.<\/p>\n\n<h4>Developer Usage<\/h4>\n\n<p>Developers can extend the frontend configuration with the <code>bato_cookie_consent_config<\/code> filter:<\/p>\n\n<pre><code>add_filter('bato_cookie_consent_config', function ($config) {\n    $config['scripts'][] = array(\n        'id' =&gt; 'analytics',\n        'category' =&gt; 'analytics',\n        'src' =&gt; 'https:\/\/example.com\/analytics.js',\n        'async' =&gt; true,\n    );\n\n    return $config;\n});\n<\/code><\/pre>\n\n<p>Source files and build tooling are included with the plugin. To rebuild production assets, run:<\/p>\n\n<pre><code>npm install\nnpm run build\n<\/code><\/pre>\n\n<h3>Third-Party Notices<\/h3>\n\n<p>Bato Cookie Consent includes or builds with the following third-party packages. These licenses are GPL-compatible according to the GNU project's GPL-compatible license list. Apache License 2.0 is compatible with GPLv3, so the plugin package is licensed as GPLv3 or later.<\/p>\n\n<h4>Runtime assets<\/h4>\n\n<ul>\n<li><code>@bato-web-agency\/cookie-consent<\/code> - MIT License<\/li>\n<li><code>@mdi\/font<\/code> - Apache License 2.0<\/li>\n<li><code>vue<\/code> - MIT License<\/li>\n<li><code>vuetify<\/code> - MIT License<\/li>\n<\/ul>\n\n<h4>Build tooling<\/h4>\n\n<ul>\n<li><code>@vitejs\/plugin-vue<\/code> - MIT License<\/li>\n<li><code>vite<\/code> - MIT License<\/li>\n<\/ul>\n\n<p>Dependency metadata is recorded in <code>package-lock.json<\/code>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/bato-cookie-consent<\/code> directory, or install the plugin through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the Plugins screen in WordPress.<\/li>\n<li>Go to Settings &gt; Bato Cookie Consent.<\/li>\n<li>Configure banner content, policy links, consent categories, and advanced options.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20make%20my%20site%20legally%20compliant%3F\"><h3>Does this plugin make my site legally compliant?<\/h3><\/dt>\n<dd><p>No. The plugin provides consent banner tooling, category controls, and script\/embed gating features, but site owners are responsible for legal review, policy text, and jurisdiction-specific configuration.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20contact%20external%20servers%3F\"><h3>Does the plugin contact external servers?<\/h3><\/dt>\n<dd><p>No external requests are made by default. External scripts or embeds are only involved if you configure them through plugin settings, site content, or developer filters.<\/p><\/dd>\n<dt id=\"where%20are%20visitor%20choices%20stored%3F\"><h3>Where are visitor choices stored?<\/h3><\/dt>\n<dd><p>Visitor consent choices are stored in the visitor's browser using the configured cookie or local storage option.<\/p><\/dd>\n<dt id=\"can%20developers%20add%20scripts%20or%20embeds%20by%20category%3F\"><h3>Can developers add scripts or embeds by category?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>bato_cookie_consent_config<\/code> filter to register scripts or embeds and assign them to consent categories.<\/p><\/dd>\n<dt id=\"does%20google%20consent%20mode%20load%20google%20scripts%3F\"><h3>Does Google Consent Mode load Google scripts?<\/h3><\/dt>\n<dd><p>No. The option updates Google Consent Mode values only when a compatible <code>gtag<\/code> setup already exists on the site.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Adds a customizable multilingual cookie consent banner with 34 supported languages, categories, policy links, embeds, and developer filters.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/318711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=318711"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/batowebagency"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=318711"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=318711"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=318711"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=318711"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=318711"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=318711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}