lwplugins / lw-cookie
GDPR-compliant cookie consent banner for WordPress
Installs: 37
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:wordpress-plugin
pkg:composer/lwplugins/lw-cookie
Requires
- php: >=8.1
- composer/installers: ^2.0
Requires (Dev)
- phpcompatibility/phpcompatibility-wp: ^2.1
- phpunit/phpunit: ^10.0
- squizlabs/php_codesniffer: ^3.0
- wp-coding-standards/wpcs: ^3.0
README
Warning !! This plugin is currently in alpha stage and under active development. It is not recommended for production use. APIs and database schemas may change without notice. Use at your own risk. !!
LW Cookie
GDPR-compliant cookie consent banner for WordPress - minimal footprint, full compliance.
Features
GDPR Compliance
- Opt-in by default - All optional categories are OFF until user consents
- Granular category selection - Necessary, Functional, Analytics, Marketing
- Consent logging - Timestamp and policy version for compliance proof
- Policy version tracking - Automatic re-consent on policy changes
- Anonymized IP logging - GDPR-compliant data storage
Cookie Banner
- Customizable position (top, bottom, modal)
- Customizable layout (full-width bar, floating box)
- Customizable colors and border radius
- Accept All / Reject All / Customize buttons
- Floating button for easy access to preferences
Script Blocking
Automatic blocking of known tracking scripts until consent:
- Google Analytics / Google Tag Manager
- Facebook Pixel
- Hotjar
- LinkedIn Insight Tag
- Twitter/X Pixel
- TikTok Pixel
- Microsoft Clarity
- Pinterest Tag
- Snapchat Pixel
Content Blocking
Block third-party embeds until consent is given:
- YouTube videos
- Vimeo videos
- Google Maps
- Other iframes
Cookie Scanner
Detect cookies on your website:
- Server-side scanning (detects HttpOnly cookies)
- Deep scan with remote headless browser
- Cookie Database API integration (2000+ known cookies)
- Automatic cookie enrichment with provider, purpose, duration
Google Consent Mode v2
- Built-in support for Google Consent Mode v2
- Loads at highest priority (before any tracking script)
- EEA region-specific defaults
- Required for Google Ads and Analytics in the EU
- Automatic consent signal updates
Meta Pixel (Facebook) Support
- Automatic
fbq('consent', 'revoke/grant')API calls - Works with existing Facebook Pixel implementations
Third-Party Plugin Integration
- dataLayer.push events for GTM triggers (
lw_cookie_consent_update) - WordPress filters for querying consent state
- Script blocking override filter for plugin compatibility
WP-CLI Support
Full command-line management:
wp lw-cookie settings list # List all settings wp lw-cookie settings set enabled true # Change settings wp lw-cookie stats # View consent statistics wp lw-cookie export --format=csv # Export consent logs wp lw-cookie clear-logs --older-than=365 # Clean up old logs
Installation
Via Composer (Recommended)
composer require lwplugins/lw-cookie
Manual Installation
- Download the latest release
- Upload the
lw-cookiefolder to/wp-content/plugins/ - Activate the plugin through the 'Plugins' menu
- Go to LW Plugins → Cookie to configure
Configuration
Navigate to LW Plugins → Cookie in your WordPress admin to access settings:
| Tab | Description |
|---|---|
| General | Enable/disable, privacy policy page, policy version |
| Appearance | Position, layout, colors, border radius |
| Categories | Customize category names and descriptions |
| Texts | Banner title, message, and button labels |
| Advanced | Consent duration, script blocking, Google Consent Mode |
Cookie Categories
| Category | Required | Description |
|---|---|---|
| Necessary | Yes | Essential cookies for website function |
| Functional | No | Enhanced functionality and personalization |
| Analytics | No | Visitor analytics and statistics |
| Marketing | No | Advertising and remarketing |
JavaScript API
// Accept all cookies LWCookie.acceptAll(); // Reject all optional cookies LWCookie.rejectAll(); // Open preferences modal LWCookie.openPreferences(); // Get current consent state const consent = LWCookie.getConsent(); // { necessary: true, functional: false, analytics: false, marketing: false } // Check if category is allowed if (LWCookie.isAllowed('analytics')) { // Load analytics scripts } // Listen for consent changes window.addEventListener('lwCookieConsent', function(e) { console.log('Categories:', e.detail.categories); console.log('Action:', e.detail.action); }); // Delete all cookies (for "forget me" functionality) LWCookie.deleteAllCookies();
WordPress Hooks (PHP)
For third-party plugin integration:
// Get all consent categories $categories = apply_filters( 'lw_cookie_consent_categories', [] ); // ['necessary' => true, 'functional' => false, 'analytics' => true, 'marketing' => false] // Check if user has given any consent $has_consent = apply_filters( 'lw_cookie_has_consent', false ); // Check if specific category is allowed $analytics_ok = apply_filters( 'lw_cookie_is_category_allowed', false, 'analytics' ); // Prevent blocking specific scripts (e.g., if your plugin handles consent) add_filter( 'lw_cookie_should_block_script', function( $should_block, $handle, $src, $category ) { if ( $handle === 'my-plugin-pixel' ) { return false; // Don't block, I handle consent myself } return $should_block; }, 10, 4 );
GTM Integration
The plugin pushes events to dataLayer for GTM triggers:
// Fired on every consent change { event: 'lw_cookie_consent_update', lw_cookie_consent: { necessary: true, functional: true, analytics: true, marketing: false }, lw_cookie_action: 'customize' // or 'accept_all', 'reject_all' }
Requirements
- PHP 8.1 or higher
- WordPress 6.0 or higher
Documentation
Full documentation is available in the docs folder:
Part of LW Plugins
LW Cookie is part of the LW Plugins family - lightweight WordPress plugins with minimal footprint and maximum impact.
| Plugin | Description |
|---|---|
| LW SEO | Essential SEO features without the bloat |
| LW Disable | Disable WordPress features like comments |
| LW Site Manager | Site maintenance via AI/REST |
| LW Memberships | Lightweight membership system |
| LW LMS | Courses, lessons, and progress tracking |
| LW Cookie | GDPR-compliant cookie consent |
License
GPL-2.0-or-later. See LICENSE for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.