| 开发者 |
gbecker1983
gwizit |
|---|---|
| 更新时间 | 2026年10月24日 10:21 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
[gwiz_it_content_locker].gwiz_it_content_locker_bypass_logged_in filter).g-wiz-it-content-locker folder to the /wp-content/plugins/ directory.Yes. GWiz IT Content Locker can be installed and used for free to gate content, collect subscribers, manage signups, and track conversions directly from WordPress.
No. External email marketing integrations are optional. Signups can be collected and managed directly from your WordPress website without connecting Mailchimp, Brevo, ConvertKit, ActiveCampaign, phpList, or another third-party marketing service.
You can protect:
Yes. You can require visitors to complete a signup form before accessing PDFs, guides, checklists, documents, downloads, bonus content, resource libraries, or other gated material.
Yes. GWiz IT Content Locker includes a protected file-download system that can require visitors to complete the signup process before accessing a gated file. The file is stored outside the public web directory, and its download link never serves the file on its own — after the visitor's access is confirmed on the server, a short-lived single-use download token is issued for that specific download.
Yes. Confirmed subscribers can optionally be synced automatically to:
Yes. Double opt-in can be enabled individually for each Restricted Area. When enabled, visitors must confirm their email address before receiving access: they get a confirmation email at signup, and the welcome email is sent once they click the confirmation link. With double opt-in disabled, a single welcome email is sent right after signup.
Yes.
The plugin pre-scans Elementor (_elementor_data), Divi (_et_pb_post_content), and Beaver Builder (_fl_builder_data) content for shortcodes and configured selector class names.
Yes. Beaver Builder content is supported along with Elementor, Divi, and standard WordPress content.
Subscriber information is stored on your WordPress website. Data is only sent to an external email marketing service if you explicitly configure and enable that integration. Signups are included in the WordPress personal-data export and erasure tools (Tools → Export Personal Data / Tools → Erase Personal Data), so you can respond to visitor privacy requests directly from the WordPress admin.
Click the Settings button on any Restricted Area card. The shortcode is displayed near the top of the settings window with a Copy button.
You are most likely logged into WordPress. Logged-in users normally receive the unlocked content without seeing the signup form. This is intentional so administrators and editors are not gated on their own website. To test the gate as a visitor, log out or open the page in a private/incognito browser window. Administrators can also enable Debug Mode to preview the gate while logged in.
Open the Restricted Area's Settings modal and enter CSS selectors in the Hide by Selector field, one selector per line.
For example:
div.exampleclass
or:
span.highlight
Elements matching those selectors are locked until the visitor signs up. How they look is your choice per Restricted Area (the Locked Element Style setting):
*, #id, .class, attribute selectors ([href], [type="text"], [class*="x"], [href^="https"], [href$=".pdf"], [rel~="x"], [lang|="en"]), the descendant/child/sibling combinators (space, >, +, ~), comma-separated lists, and :first-child, :last-child, :nth-child(n|odd|even). Any other pseudo-class (for example :hover or :has()) is applied as a visual lock only — for those selectors the plugin falls back to locking the element client-side, which hides it visually but does not remove it from the page source.
Yes. Place the shortcode around the content where you want the signup form to appear. If you need to protect additional elements without displaying additional forms, use CSS selectors to lock those elements.
Yes — by default the plugin clears popular caching plugins (WP Rocket, WP Super Cache, W3 Total Cache, LiteSpeed Cache, WP Fastest Cache, Cache Enabler, Comet Cache, SG Optimizer, WP-Optimize, Swift Performance, Autoptimize, Nginx Helper and Hummingbird) and host-level caches on GoDaddy Managed WordPress, WP Engine, Kinsta, Pantheon and Cloudways whenever anything in a Restricted Area is saved, so gating changes appear immediately. You can turn this off under GWiz IT Content Locker → Settings → Cache Clearing. If your host also runs a WAF/CDN cache (for example GoDaddy's WAF), that layer may still need a manual clear from your hosting dashboard.
No. The plugin checks the current page content, including supported page-builder data, and only loads frontend assets when a shortcode or relevant selector is detected.
Yes. Click the Clone button on a Restricted Area. You can choose whether subscriber/contact records should also be included. The duplicated area is created as a disabled copy with a unique name.
Yes. Click Export on a Restricted Area to download a ZIP backup. To import a backup, use Import Settings on an existing Restricted Area or Import Area to create a new one. You can optionally include subscriber/contact records. Backup files contain plugin version information so older backups can be handled safely as the plugin evolves.
Yes. When cloning, exporting, or importing an area, you can choose to include contacts. Imported contacts are added as new signup records and are not automatically de-duplicated by email address.
Yes. CSV exports include a UTF-8 BOM so applications such as Microsoft Excel correctly recognize UTF-8 text, including accented and non-English characters.
Developers can use the gwiz_it_content_locker_load_frontend filter documented in the Hooks section below.
Confirmation Email
{{confirm_link}}{{site_name}}{{email}}{{area_name}}{{source_url}}{{site_name}}{{email}}{{area_name}}{{source_url}}{{form}}{{already_signed_up_link}}{{site_name}}{{area_name}}{{file_name}}The popup template includes an {{already_signed_up_link}} placeholder.
When visitors click it, they are shown an email verification form.
If the email exists as a confirmed signup for that Restricted Area, the visitor receives an access cookie and the protected content is unlocked.
If the address is not found, a generic response is shown to help prevent email enumeration.
Click the Help button at the top of the Restricted Areas page. The plugin includes a detailed plain-English guide explaining the available buttons, settings, and options.
getState().payload and the hidden input it creates on solve). The challenge URL also carries a version tag so host or page caches (e.g. GoDaddy Varnish, WP Rocket) can never serve a challenge issued by an older plugin release.expires field in its solution, but the server required one, so every submission was rejected. The expiry timestamp now travels inside the signed salt (which the widget does return), verification accepts the widget's actual payload format, a solution number of 0 is now accepted, and challenge responses are marked no-store so page caches can't serve stale, already-expired challenges. Note: challenges issued by 1.10.0 and earlier stop verifying after this update (they live only 5 minutes) — visitors simply solve the fresh widget.uninstall.php; documented the third-party LiteSpeed Cache hook name used by the cache clearer).jQuery.trim (removed in jQuery 4) with a local equivalent, so lock styling and admin saves keep working on sites that upgrade jQuery.languages/g-wiz-it-content-locker.pot) has been regenerated with every current string and translator comment. A WP-CLI-free generator (tools/make-pot.php, development files, not shipped in the zip) reproduces it with php tools/make-pot.php.gwiz_it_content_locker_bypass_logged_in filter).?gwiz_it_bg_preview=1 to a gated URL skipped the page gate entirely. The background preview (and the blurred gated-page background behind the gate overlay) is now rendered for privileged users only.content.rendered) or RSS feeds.:hover or :has()) falls back to the previous visual-only lock. The supported server-side subset is documented in the FAQ.{{close_label}} placeholder).not_signedup_template database column (automatic migration).gwiz-it-already-signed-up class now opens the verification form instead of refreshing the page.{{already_signed_up_link}} placeholder (invalid HTML).gwiz_it_content_locker_bypass_logged_in filter for controlling the logged-in bypass.[gwiz_it_content_locker] shortcode for inline content gating with Windows-style area name deduplication.gwiz_it_content_locker_load_frontend filter for developer control over asset loading.