Description
IL Privacy & Cookie Consent is a comprehensive, production-ready plugin for displaying cookie consent banners, blocking non-essential scripts until consent is obtained, logging consent events (compliant with Amendment 13 of the Israeli Privacy Protection Law), creating privacy policy pages, supporting RTL and accessibility, with Hebrew defaults.
Key Features
- Customizable consent banner – Floating window at the bottom of the page with options: “Accept All”, “Reject Non-Essential Cookies”, “Preferences”
- Detailed preferences modal – Granular selection of categories: Essential (required), Analytics, Marketing, Functional
- Script blocking – Map scripts to categories and block them until appropriate consent is obtained
- Consent event logging – Database storage with IP hash, User Agent, date, version (compliant with Amendment 13)
- CSV log export – Export consent data for reporting
- Privacy policy page – Automatic creation of draft page with
[ilpramco_policy]shortcode - Cookies table –
[il_cookies_table]shortcode to display cookie catalog - Marketing consent for forms –
[il_marketing_consent]shortcode for forms - RTL and accessibility – Full RTL support, WCAG, keyboard navigation, focus trap
- Lightweight – Very small JS+CSS (< 10KB gzipped), no jQuery dependency
- DNT support – Option to respect Do Not Track
Minimum Requirements
- WordPress 5.8 or higher
- PHP 7.4 or higher (supports PHP 8.1+)
Usage
Shortcodes:
[ilpramco_policy]– Displays the full privacy policy[ilpramco_cookies_table]– Displays cookies table[ilpramco_marketing_consent]– Marketing consent checkbox for forms
JavaScript API:
`javascript
// Get current consent
const consent = window.ILPrivacy.getConsent();
// Register callback for changes
window.ILPrivacy.onChange(function(consent) {
console.log(‘Consent updated:’, consent);
});
// Enable a category
window.ILPrivacy.enableCategory(‘analytics’);
// Check if category is enabled
if (window.ILPrivacy.isCategoryEnabled(‘marketing’)) {
// Load marketing scripts
}
// Open preferences modal
window.ILPrivacy.openPreferences();
// Revoke consent
window.ILPrivacy.revokeConsent();
`
Script Mapping:
`php
// Add script to category
add_action(‘wp_enqueue_scripts’, function() {
wp_enqueue_script(‘google-analytics’, ‘…’, [], ‘1.0’, true);
// Map to category
$mapping = get_option('ilpramco_script_mapping', []);
$mapping['google-analytics'] = 'analytics';
update_option('ilpramco_script_mapping', $mapping);
});
`
Privacy & Legal
This plugin is designed to help comply with Amendment 13 of the Israeli Privacy Protection Law and GDPR regulations in Europe. However, using this plugin does not constitute legal advice and does not guarantee full legal compliance. It is recommended to consult with a legal advisor regarding your specific legal requirements.
The plugin stores the following data:
* User ID (if user is logged in)
* Session ID (UUID)
* Hash of IP address (SHA256 with salt)
* User Agent
* Consent (categories, version, date)
The plugin does not store raw IP addresses.
Screenshots
Installation
Install from WordPress.org
- Go to your WordPress admin area
- Navigate to “Plugins” > “Add New”
- Search for “IL Privacy”
- Click “Install Now” and then “Activate”
Manual Installation
- Download the plugin ZIP file
- Upload the
il-privacy-cookie-consentfolder to/wp-content/plugins/ - Activate the plugin through the ‘Plugins’ menu in WordPress
- Go to ‘IL Privacy’ menu for settings
After Installation
- The plugin automatically creates a privacy policy page
- The consent banner will automatically appear to new visitors
- Customize texts and colors as needed in settings
- Add script mappings to categories (Google Analytics, Facebook Pixel, etc.)
- Test that the banner displays correctly on your site
FAQ
-
Is this plugin compliant with Amendment 13?
-
Yes! The plugin stores consent event logs with timestamp, policy version, IP hash (not raw IP), and allows data export.
-
Does the plugin block scripts automatically?
-
Yes, for scripts that are mapped to categories. You can add mappings in the plugin settings.
-
How do I add support for Google Analytics?
-
In the plugin settings, go to “Categories and Scripts” and add the Google Analytics handle (e.g.,
gtagorgoogle-analytics) to the “Analytics” category. -
Does the plugin affect performance?
-
No! The plugin is very lightweight – JS+CSS < 10KB gzipped, no jQuery dependency, vanilla JS only.
Reviews
Contributors & Developers
“IL Privacy & Cookie Consent” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “IL Privacy & Cookie Consent” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.3.0
- Date: 2026-03-10
- Fixed: English sites now get locale-aware banner/modal texts even when old Hebrew default options were previously saved.
- Improved: Privacy policy link text, “change preferences” link text, and default cookie-category labels/descriptions now follow English locale correctly.
1.2.9
- Date: 2026-03-10
- Added: New SEOPUSH.AI promotional banner at the bottom of the plugin settings page with purple gradient branding and CTA button.
- Added: ACCSS and SEOPUSH promotional banners are now also displayed on the consent event logs page (top and bottom positions).
1.2.8
- Date: 2026-03-10
- Added: New admin setting to control whether the auto-injected forms marketing-consent checkbox is required or optional.
- Improved: Required/optional behavior is now applied across supported form integrations (CF7, Gravity Forms, WPForms, Ninja Forms, Elementor, Formidable, Fluent Forms).
1.2.7
- Date: 2026-02-24
- Fixed: Contact Form 7 integration now initializes using CF7 function/version checks (not only a class_exists check), improving compatibility across CF7 load patterns.
- Fixed: Resolves cases where CF7 consent checkbox was missing even though forms were rendered and plugin version was updated.
1.2.6
- Date: 2026-02-24
- Fixed: Contact Form 7 auto-injection now supports rendered HTML forms (not only raw [submit] tags), so consent checkbox is injected reliably.
- Improved: English fallback text for marketing consent and privacy-policy phrasing in form labels.
1.2.5
- Date: 2026-02-24
- Fixed: Elementor consent inline scripts are now printed directly in footer (not attached too late via wp_add_inline_script).
- Fixed: Resolves missing checkbox injection on Elementor contact forms where consent scripts were absent in page source.
1.2.4
- Date: 2026-02-24
- Fixed: Gravity Forms consent link now appears as a dedicated clickable privacy-policy link below the checkbox.
- Improved: Cleaner Gravity consent text without raw encoded URL.
1.2.3
- Date: 2026-02-24
- Fixed: Forms integrations now initialize correctly even when plugins_loaded already fired.
- Fixed: Resolves cases where Elementor consent checkbox scripts were not injected on frontend pages.
1.2.2
- Date: 2026-02-24
- Added: Form marketing-consent events are now logged in consent records.
- Added: Contact identity extraction (name/email/phone when available) from form submissions for consent logs.
- Improved: Consent logs page now displays dedicated form-consent event rows with source and identity details.
1.2.1
- Date: 2026-02-24
- Fixed: Improved Elementor forms consent injection by supporting additional submit-button structures.
- Fixed: Added fallback insertion at the end of the form when submit wrapper is not detected.
1.2.0
- Date: 2026-02-24
- Added: Option in plugin settings to enable/disable automatic marketing-consent checkbox injection in supported form plugins.
- Added: Clickable privacy policy link in injected consent labels across supported form integrations.
- Added: ACCSS promotional banner in the settings page.
- Improved: Better compatibility for sites that already have custom consent fields in forms.
1.1.9
- Date: 2025-12-23
- Fixed: Added backwards compatibility for old shortcode names ([il_privacy_policy], [il_cookies_table], [il_marketing_consent]).
1.1.8
- Date: 2025-12-23
- Fixed: Added proper permission_callback to REST API routes with session ownership check.
- Fixed: Added escaping (esc_url) for iframe sources in content filter.
- Fixed: Removed redundant load_plugin_textdomain calls (handled by WP.org).
- Fixed: Removed unneeded development folders (.wordpress-org).
1.1.7
- Date: 2025-12-10
- Fixed: Namespace changed from ILPrivacy to Ilpramco (WordPress.org naming convention)
- Fixed: Tested up to updated to WordPress 6.9
1.1.6
- Date: 2025-11-23
- Fixed: Plugin description changed from Hebrew to English (WordPress.org requirement)
- Fixed: ALL option names changed from il_privacy_* to ilpramco_* prefix
- Fixed: ALL settings groups changed from il_privacy_* to ilpramco_* prefix
- Fixed: ALL admin post actions changed from il_privacy_* to ilpramco_* prefix
- Fixed: ALL shortcodes renamed: [ilpramco_policy], [ilpramco_cookies_table], [ilpramco_marketing_consent]
- Fixed: ALL transients renamed from il_privacy_* to ilpramco_* prefix
- Fixed: Cookie name changed from il_privacy to ilpramco_consent
- Fixed: Database table name remains ilpramco_consent (already correct)
- Note: This is a breaking change – existing consent cookies will need to be re-accepted
- Improved: Full compliance with WordPress.org plugin naming conventions
1.1.5
- Date: 2025-11-23
- Added: Full multilingual support (English/Hebrew) with automatic language detection
- Added: WPML, Polylang, and TranslatePress compatibility
- Added: Automatic language detection from URL parameters (?lang=en)
- Added: Dynamic RTL/LTR support based on current language
- Added: English translation file (en_US.po)
- Added: Hebrew translation file (he_IL.po)
- Improved: Banner and modal now automatically adjust text direction (RTL/LTR)
- Improved: Privacy policy page supports multilingual content
- Improved: Admin settings interface respects current site language
- Improved: CSS styles updated for better RTL/LTR compatibility
1.1.4
- Date: 2025-11-23
- Fixed: Removed all backwards compatibility constants (IL_PRIVACY_) – only ILPRAMCO_ constants now used
- Fixed: Removed all backwards compatibility functions (il_privacy_) – only ilpramco_ functions now used
- Fixed: Updated all internal function calls to use new ilpramco_ prefix
- Fixed: Removed backwards compatibility filter (il_privacy_script_mapping)
- Fixed: Added proper phpcs:ignore comments for PluginCheck.Security.DirectDB warnings (all $table_name uses are safe)
- Improved: Cleaner codebase with consistent prefixing throughout
- Breaking: If you were using il_privacy_* functions in custom code, please update to ilpramco_* equivalents
1.1.3
- Date: 2025-11-17
- Fixed: Removed duplicate Plugin URI (was identical to Author URI)
- Fixed: All inline scripts now use wp_add_inline_script() instead of direct script tags
- Fixed: Global prefixes changed from IL_PRIVACY_ to ILPRAMCO_ for better uniqueness (backwards compatible)
- Fixed: Function prefixes changed from il_privacy_ to ilpramco_ (backwards compatible)
- Fixed: Class name changed from IL_Privacy to ILPRAMCO_Plugin (backwards compatible)
- Fixed: All global variables in uninstall.php now properly prefixed
- Fixed: Contributors field updated to match WordPress.org username (oyosh)
- Improved: Complete English translation of readme.txt for WordPress.org submission
- Improved: Better compliance with WordPress.org plugin guidelines and naming conventions
- Note: All old function/constant names still work via backwards compatibility layer
1.1.2
- Date: 2025-11-03
- Improved: New design for banner buttons with color #244368
- Improved: Changed font to Rubik for banner
- Improved: Buttons displayed in single row (flex-row) with wrap
- Improved: Text size increased to 14px for better readability
- Improved: Enhanced hover effect on banner buttons
1.1.1
- Date: 2025-11-03
- Added: Ability to edit privacy policy content directly from admin
- Added: Additional fields for contact details (company name, address, update date)
- Improved: Support for dynamic tags in custom privacy policy
- Improved: Enhanced interface for managing privacy policy content
- Preparation: Added assets and prepared for WordPress.org submission
1.1.0
- Improved: Enhanced support for Elementor forms
- Fixed: Compatibility issues with PHP 8.1+
- Added: More detailed logs for debugging
1.0.0
- Initial release
- Consent banner + preferences modal
- Script blocking by categories
- Consent event logging to database
- CSV export
- Shortcodes for privacy policy, cookies table, marketing consent
- Full RTL and accessibility support
- Hebrew defaults


