| 开发者 |
developersd
sudipdebnath |
|---|---|
| 更新时间 | 2026年9月9日 07:53 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
prefers-reduced-motion supportdevelopersd-popup-builder folder to /wp-content/plugins/.Elementor, Divi, Beaver Builder, and Bricks each have their own settings screen listing which post types their builder is enabled for. Find that screen in your builder's own settings (for Elementor: Elementor → Settings → General → Post Types) and enable "Popup" there.
No CSS or JavaScript from this plugin loads on any page that has no eligible popup — eligibility is resolved server-side before any asset is enqueued.
Yes. Popup display-frequency state (has a visitor already seen/closed a popup) is tracked entirely client-side via cookies and localStorage, never written from PHP, so a fully-cached page is never a problem.
Three ways: the [developersd_popup id="X"] shortcode, adding a data-dsdpb-trigger="X" attribute to any existing element, or calling dsdpbOpen(X) from your own JavaScript. All three are also shown on the popup's own edit screen.
admin_notices hook, so it can never appear on unrelated wp-admin pages.uninstall.php, templates/popup-wrapper.php, admin/views/analytics-page.php) with dsdpb_, since PHP treats variables in a directly-required file as global scope.phpcs:ignore (no core WordPress API exists for an aggregate query over a plugin's own custom table; the query is already parameterized via $wpdb->prepare() and cached).load_plugin_textdomain() call (WordPress core auto-loads translations since 4.6); replaced interpolated table names in SQL with $wpdb->prepare() using the %i identifier placeholder; removed suppress_filters from internal queries, since forcing it off can break other plugins (multilingual, access-control) that filter which posts are visible; properly unslashed $_SERVER input before sanitizing.%i prepare placeholder above).