This plugin generates admin page fields and admin table columns from registered post meta, term meta, user meta and settings in WordPress. All you need to do is to add a field or column property when registering meta or setting keys with the native WordPress functions.
A WordPress plugin for discovering, configuring, and enforcing Content-Security-Policy headers. Built for WordPress 6.4+ and PHP 8.1+.
The plugin can be used for discovering and tightening an existing policy, or as a starting point for new projects. It emits both Content-Security-Policy-Report-Only and Content-Security-Policy headers so you can test in Report Only mode before enforcing.
Important! Running in discovery mode on a live site will check every resource against the policy and may generate a large number of violation reports, and could significantly impact performance of the page. Use with caution on high-traffic sites. Prefferably run it for short periods of time whe needed.
Features
Three modes — Disabled, Report Only (discover mode), and Enforce.
Violation log — Browsers report blocked resources to a REST endpoint; violations are stored in a custom DB table, grouped by origin and directive, and displayed in the admin UI.
Add to allowlist — One click adds the blocked origin to the correct directive in your policy.
Reporting API support — Emits both report-uri (legacy, Safari ≤15 fallback) and report-to csp-endpoint (modern batched Reporting API) so browsers buffer and batch violation reports instead of sending one HTTP request per violation.
Nonce injection — Optionally generates a per-request cryptographic nonce, injects it into the CSP header, and adds it to every <script> and <style> tag rendered by WordPress core APIs (requires WP 6.3+).
strict-dynamic support — Optional. When nonces are enabled, 'strict-dynamic' can be injected into script-src so scripts loaded by nonce-bearing scripts (e.g. GTM tags) are also trusted by modern browsers.
Violation retention — Configurable retention period (1-365 days). Automatic daily cleanup via WP-Cron. Cleanup only runs in Report Only mode — in Enforce mode violations are preserved as a rollback audit trail.
Export — Download violation log as JSON or CSV.
Safe defaults — A fresh install ships with a broad but valid starting policy (see Default policy) so Report Only mode produces meaningful reports immediately.
Load iframe on demand – Iframes are no longer added to the HTML, they are embedded only when user click button, reducing loads
Fetch priority for thumb, when iframe is placed on top of the page it is important to set fetch priority to avoid bad LCP. This plugin allows to do this
By default plugin will fetch the thumb from YT/Vimeo and Dailymotion, but user can set their own.
Video caption – this is text displayed below (if not styled differently)
Customization
The block contains few PHP hooks for customization e.g for button if needed, all of which is described in [readme.md]
NOTE: Plugin haven’t been tested with Dekode GTM iFrame CookieBot blocking feature yet! So may not “block” iframes as expected.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam cursus consequat enim, eu rhoncus nibh. Praesent tempor ex elit, eget finibus nibh maximus ac. Donec vehicula ultrices augue, ac efficitur tortor.
T2 Facta
The block is slightly different.
Facta
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam cursus consequat enim, eu rhoncus nibh. Praesent tempor ex elit, eget finibus nibh maximus ac. Donec vehicula ultrices augue, ac efficitur tortor.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam cursus consequat enim, eu rhoncus nibh. Praesent tempor ex elit, eget finibus nibh maximus ac. Donec vehicula ultrices augue, ac efficitur tortor.
A wrapper block to make an easy carousel with your desired inner blocks. It will make a wrapper block, a slide block and then you can choose the innerblock. It will automatically add swiper pagination and navigation. The navigation buttons is the t2 chevron left and right.
Note: This is a very barebone style block, and you will need to style it yourself. It will just generate the functionality.
Define in your theme.json what inner blocks you want to allow and what the default template should be. If you want multiple carousels with different innerblocks you can create a blockVariation, and define the values in the carousel-wrapper block attributes.
Everything you define in the block attributes will override the theme.json settings.
The UX
UI is simply optimized to show add/remove slide when focused.
The wrapper has easy to access ADD next slide button
Carousel only when focused will show the all slides.
When no slides are available there is a screen to add first slide:
Variations
The carousel support register variation from theme.json.
Each variation can have it’s own unique features/settings.
Each variation will have extra class to hook styling.
This way you can have multiple unqie sliders on one page using single block.
The variation’s settings are read from library.json not from attributes, which make it easy to change later if there is need to.