[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fPOd_qseIlOuc1Ta9q0bg-3wipWPUec0EsZvebbtvtDo":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":87,"crawl_stats":37,"alternatives":94,"analysis":205,"fingerprints":1104},"woc-open-close","Open Close Store for WooCommerce – Business Hours Schedules Manager","4.9.9","StackWC","https:\u002F\u002Fprofiles.wordpress.org\u002Fstackwc\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fstackwc.com\u002Fplugins\u002Fwoc-open-close\u002F?utm_source=wprepo&utm_medium=link&utm_campaign=plugin_name\" rel=\"nofollow ugc\">Open Close Store for WooCommerce\u003C\u002Fa> is the best store scheduler plugin in the market which offers you comprehensive business hours management for your WooCommerce store.\u003C\u002Fp>\n\u003Cp>Easily set up your store schedule in minutes and choose what days and hours your store is open. Like a real store, your website will open and close following the schedules you define. Your customers will know your actual business hours and won’t be able to place orders when your store is closed.\u003C\u002Fp>\n\u003Cp>⭐ \u003Ca href=\"https:\u002F\u002Fstackwc.com\u002Fplugins\u002Fwoc-open-close\u002F?utm_source=wprepo&utm_medium=link&utm_campaign=upgrade-pro\" rel=\"nofollow ugc\">Upgrade to Pro\u003C\u002Fa> | 🚀 \u003Ca href=\"https:\u002F\u002Fapp.instawp.io\u002Flaunch?t=open-close-woocommerce-store&d=v2\" rel=\"nofollow ugc\">Try the Demo\u003C\u002Fa> | 🛟 \u003Ca href=\"https:\u002F\u002Fstackwc.com\u002Fsupport\u002F\" rel=\"nofollow ugc\">Get Support\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Perfect for store owners who want to manage their business hours effectively and provide a better shopping experience for their customers.\u003C\u002Fp>\n\u003Ch3>🎥 Plugin Overview\u003C\u002Fh3>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FhTB_4wxJVV4?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>🚀 Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Flexible Schedule Management\u003C\u002Fstrong> – Create unlimited schedules with multiple daily shifts for complete business hour control\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart Order Blocking\u003C\u002Fstrong> – Automatically prevent orders when your store is closed with customizable customer notifications\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Instant Store Control\u003C\u002Fstrong> – Open or close your store instantly with a single click for unexpected changes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Frontend Schedule Display\u003C\u002Fstrong> – Show your business hours beautifully on any page with customizable widgets\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dynamic Countdown Timers\u003C\u002Fstrong> – Display stylish countdown timers showing when your store reopens\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multi-Location Support\u003C\u002Fstrong> – Manage different schedules for multiple store locations or departments\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Timezone Compatibility\u003C\u002Fstrong> – Automatically adjust to your WordPress timezone settings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customer-Friendly Notifications\u003C\u002Fstrong> – Display informative notice bars and popups about store status\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>⭐ PRO Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Advanced Pre-Order System\u003C\u002Fstrong> – Accept pre-orders for specific products when your store is temporarily closed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enhanced Pre-Order Options\u003C\u002Fstrong> – Customizable pre-order messages and button text\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Intelligent Cart Management\u003C\u002Fstrong> – Automatically empty cart or allow specific products during store closure\u003C\u002Fli>\n\u003Cli>\u003Cstrong>24\u002F7 Operation Mode\u003C\u002Fstrong> – Keep your store open 24 hours with per-day toggle options\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Frontend Manager\u003C\u002Fstrong> – Manage schedules directly from the frontend with an intuitive interface\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Instant Override Controls\u003C\u002Fstrong> – Force your store open or closed instantly with custom messages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Selective Product Availability\u003C\u002Fstrong> – Allow or disallow specific products based on store status\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multivendor Integration\u003C\u002Fstrong> – Full Dokan marketplace support for vendor-specific schedules\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🔄 Plugin Integrations\u003C\u002Fh3>\n\u003Ch4>Dokan Multivendor Marketplace\u003C\u002Fh4>\n\u003Cp>Full compatibility with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdokan-lite\u002F\" rel=\"ugc\">Dokan\u003C\u002Fa>, allowing each vendor to set their own store hours.\u003C\u002Fp>\n\u003Ch3>⚙️ Shortcodes\u003C\u002Fh3>\n\u003Ch4>Display Single Schedule\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[schedule id=\"71\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\n\u003Cp>Display a specific schedule anywhere on your site. Replace “71” with your actual schedule ID.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Frontend Schedule Manager (Pro)\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[wooopenclose-manage-schedules]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\n\u003Cp>Allow administrators to manage store schedules directly from the frontend. Create, update, or delete schedules without accessing the WordPress admin.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Countdown Timer\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[wooopenclose-countdown]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\n\u003Cp>Show a countdown timer until the store reopens. Customize the appearance in the plugin settings.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Today’s Hours\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[wooopenclose-today]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\n\u003Cp>Display today’s store hours in a clean, easy-to-read format.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Is Open\u002FClosed Status\u003C\u002Fh4>\n\u003Cblockquote>\n\u003Cp>Show whether your store is currently open or closed based on your schedule.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch3>StackWC Recommended Plugins\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fstackwc.com\u002Fplugins\u002Fwoc-order-alert\u002F?utm_source=wprepo&utm_medium=link&utm_campaign=footer_plugin_name\" rel=\"nofollow ugc\">Order Notification for WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fstackwc.com\u002Fplugins\u002Fproduct-tabs-for-woo\u002F?utm_source=wprepo&utm_medium=link&utm_campaign=footer_plugin_name\" rel=\"nofollow ugc\">Custom Product Tabs for WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fstackwc.com\u002Fplugins\u002Fquick-buy-now-button-for-woocommerce\u002F?utm_source=wprepo&utm_medium=link&utm_campaign=footer_plugin_name\" rel=\"nofollow ugc\">Quick Buy Now Button for WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Easily set business hours and automatically open or close your WooCommerce shop or store based on customizable schedules and shifts.",700,75518,68,41,"2026-01-03T10:37:00.000Z","6.9.4","5.0","7.4",[20,21,22,23],"open-close","opening-hours","schedules-manager","store-hours-for-woocommerce","https:\u002F\u002Fstackwc.com\u002Fplugins\u002Fwoc-open-close\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoc-open-close.4.9.9.zip",49,4,2,"2025-10-08 00:00:00","2026-03-15T15:16:48.613Z",[32,46,60,72],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":37,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":29,"updated_date":43,"references":44,"days_to_patch":37},"CVE-2025-62935","open-close-woocommerce-store-missing-authorization-2","Open Close WooCommerce Store \u003C= 4.9.8 - Missing Authorization","The Open Close WooCommerce Store plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in versions up to, and including, 4.9.8. This makes it possible for authenticated attackers, with subscriber-level access and above, to perform an unauthorized action.",null,"\u003C=4.9.8","medium",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization","2025-10-29 14:55:49",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Ffbeb146e-6b3e-4b84-80a6-9e1c507b5337?source=api-prod",{"id":47,"url_slug":48,"title":49,"description":50,"plugin_slug":4,"theme_slug":37,"affected_versions":51,"patched_in_version":37,"severity":52,"cvss_score":53,"cvss_vector":54,"vuln_type":55,"published_date":56,"updated_date":57,"references":58,"days_to_patch":37},"CVE-2025-47649","open-close-woocommerce-store-authenticated-contributor-local-file-inclusion","Open Close WooCommerce Store \u003C= 4.9.5 - Authenticated (Contributor+) Local File Inclusion","The Open Close WooCommerce Store plugin for WordPress is vulnerable to Local File Inclusion in versions up to, and including, 4.9.5. This makes it possible for authenticated attackers, with contributor-level access and above, to include and execute arbitrary files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where images and other “safe” file types can be uploaded and included.","\u003C=4.9.5","high",8.8,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:H\u002FI:H\u002FA:H","Improper Control of Filename for Include\u002FRequire Statement in PHP Program ('PHP Remote File Inclusion')","2025-05-07 00:00:00","2025-05-13 14:48:44",[59],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fc13f370b-c9f6-4e58-b6a7-6aa03a0ed5cd?source=api-prod",{"id":61,"url_slug":62,"title":63,"description":64,"plugin_slug":4,"theme_slug":37,"affected_versions":65,"patched_in_version":66,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":67,"updated_date":68,"references":69,"days_to_patch":71},"CVE-2024-32522","open-close-woocommerce-store-missing-authorization","Open Close WooCommerce Store \u003C= 4.9.1 - Missing Authorization","The Open Close WooCommerce Store – Best Business Schedules Manager plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on the ajax_switch_active and ajax_update_timezone functions in all versions up to, and including, 4.9.1. This makes it possible for authenticated attackers, with subscriber-level access and above, to update the active status and timezone.","\u003C=4.9.1","4.9.2","2024-04-15 00:00:00","2024-04-23 15:05:23",[70],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F93b5525c-a298-420d-80cd-84cb35913981?source=api-prod",9,{"id":73,"url_slug":74,"title":75,"description":76,"plugin_slug":4,"theme_slug":37,"affected_versions":77,"patched_in_version":78,"severity":39,"cvss_score":79,"cvss_vector":80,"vuln_type":81,"published_date":82,"updated_date":83,"references":84,"days_to_patch":86},"WF-3e471ef4-94c1-47d9-98ae-f79f7662e21a-woc-open-close","woocommerce-open-close-best-business-schedules-manager-reflected-cross-site-scripting","Woocommerce Open Close – Best Business Schedules Manager \u003C= 4.3.0  - Reflected Cross-Site Scripting","The Woocommerce Open Close – Best Business Schedules Manager plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via a URL in versions up to, and including 4.3.0 due to insufficient sanitization and escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.","\u003C=4.3.0","4.3.1",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2022-04-17 00:00:00","2024-01-22 19:56:02",[85],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F3e471ef4-94c1-47d9-98ae-f79f7662e21a?source=api-prod",646,{"slug":88,"display_name":7,"profile_url":8,"plugin_count":27,"total_installs":89,"avg_security_score":90,"avg_patch_time_days":91,"trust_score":92,"computed_at":93},"stackwc",1720,83,338,67,"2026-04-04T13:42:21.048Z",[95,115,139,160,183],{"slug":96,"name":97,"version":98,"author":99,"author_profile":100,"description":101,"short_description":102,"active_installs":103,"downloaded":104,"rating":103,"num_ratings":103,"last_updated":105,"tested_up_to":16,"requires_at_least":106,"requires_php":18,"tags":107,"homepage":112,"download_link":113,"security_score":114,"vuln_count":103,"unpatched_count":103,"last_vuln_date":37,"fetched_at":30},"statusdot","StatusDot","2.1.0","designplug","https:\u002F\u002Fprofiles.wordpress.org\u002Fdesignplug\u002F","\u003Cp>StatusDot helps you show whether you’re \u003Cstrong>Open\u003C\u002Fstrong>, \u003Cstrong>Busy\u003C\u002Fstrong>, \u003Cstrong>Closed\u003C\u002Fstrong>, or temporarily \u003Cstrong>Idle\u003C\u002Fstrong> — using a simple dot indicator that updates automatically.\u003C\u002Fp>\n\u003Cp>Configure a weekly schedule (supports \u003Cstrong>HH:MM\u003C\u002Fstrong>), optionally enable \u003Cstrong>Busy mode\u003C\u002Fstrong>, or override everything with \u003Cstrong>Force Closed\u003C\u002Fstrong> or \u003Cstrong>Open 24\u002F7\u003C\u002Fstrong>. You can also start an \u003Cstrong>Idle override\u003C\u002Fstrong> (“Back in…”) timer when you’re away.\u003C\u002Fp>\n\u003Cp>StatusDot can show status text + a live countdown, for example:\u003Cbr \u002F>\n\u003Cstrong>Open now — Closes in 04:52:14\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Updates are handled via lightweight AJAX polling, so visitors see changes without a full page refresh.\u003C\u002Fp>\n\u003Cp>Place it anywhere using the shortcode. Multiple instances per page are supported.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Weekly opening hours (HH:MM, including minutes)\u003C\u002Fli>\n\u003Cli>Status modes:\n\u003Cul>\n\u003Cli>Use Opening Hours (Weekly Schedule)\u003C\u002Fli>\n\u003Cli>Force Closed\u003C\u002Fli>\n\u003Cli>Open 24\u002F7\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Manual Busy mode (orange status)\u003C\u002Fli>\n\u003Cli>Idle override (“Back in…”) with start\u002Fstop and countdown\u003C\u002Fli>\n\u003Cli>Display options:\n\u003Cul>\n\u003Cli>Toggle status text (Open\u002FBusy\u002FClosed)\u003C\u002Fli>\n\u003Cli>Toggle countdown label + time per state (Closes in \u002F Opens in \u002F Back in)\u003C\u002Fli>\n\u003Cli>Separator selection (-, —, |, •)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Live countdown to the next opening\u002Fclosing moment\u003C\u002Fli>\n\u003Cli>AJAX-based live updates (configurable refresh interval)\u003C\u002Fli>\n\u003Cli>Unlimited shortcodes per page\u003C\u002Fli>\n\u003Cli>Works with major page builders (Gutenberg, Elementor, etc.)\u003C\u002Fli>\n\u003Cli>Lightweight and dependency-free\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcode\u003C\u002Fh3>\n\u003Cp>Basic usage:\u003Cbr \u002F>\n[statusdot]\u003C\u002Fp>\n\u003Cp>Optional attributes:\u003Cbr \u002F>\n[statusdot id=”header” refresh=”30″]\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> – Optional unique identifier (useful for targeting with custom CSS). Default: header\u003C\u002Fli>\n\u003Cli>\u003Ccode>refresh\u003C\u002Fcode> – Refresh interval in seconds (default: 30)\u003C\u002Fli>\n\u003C\u002Ful>\n","Real-time opening hours with a clean status dot, optional text, and countdown timers.",0,204,"2026-03-06T22:35:00.000Z","5.8",[108,109,110,21,111],"business-hours","countdown","open-closed","status-indicator","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fstatusdot.2.1.0.zip",100,{"slug":116,"name":117,"version":118,"author":119,"author_profile":120,"description":121,"short_description":122,"active_installs":123,"downloaded":124,"rating":125,"num_ratings":126,"last_updated":127,"tested_up_to":128,"requires_at_least":129,"requires_php":130,"tags":131,"homepage":135,"download_link":136,"security_score":114,"vuln_count":137,"unpatched_count":103,"last_vuln_date":138,"fetched_at":30},"business-hours-indicator","Business Hours Indicator","2.4.5","Wombat Plugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fmaartenbelmans\u002F","\u003Cul>\n\u003Cli>Use Blocks or shortcodes to display your opening times in any format anywhere on your website\u003C\u002Fli>\n\u003Cli>Shortcodes & block to indicate if you are currently open or closed\u003C\u002Fli>\n\u003Cli>Alternate message when you’re almost opening or closing\u003C\u002Fli>\n\u003Cli>Shortcodes or block to display something only when you are open or closed\u003C\u002Fli>\n\u003Cli>Easily style everything\u003C\u002Fli>\n\u003Cli>4 widgets (does the same as the shortcodes)\u003C\u002Fli>\n\u003Cli>Supports Vacations\u003C\u002Fli>\n\u003Cli>Supports ‘special dates’ with different opening times (e.g: holidays)\u003C\u002Fli>\n\u003Cli>Supports countdown until your next opening\u002Fclosing time\u003C\u002Fli>\n\u003Cli>Supports multiple locations\u003C\u002Fli>\n\u003Cli>Developer API (more info below)\u003C\u002Fli>\n\u003Cli>Frontend translated in: Dutch, German, English, Greek, Spanish, Italian, French, Bulgarian, Swedish, Danish,\u003Cbr \u002F>\nSlovakian, Slovenian, Lithuanian, Croatian, Russian, Czech, Norwegian, Finnish, Icelandic\u003C\u002Fli>\n\u003Cli>beautiful & user-friendly settings screens for you, or your client, to work in\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Check out a complete list of features below.\u003C\u002Fp>\n\u003Ch4>Quick links\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.studiowombat.com\u002Fbhi-demos\u002F?utm_source=wporg&utm_medium=referral&utm_campaign=readme\" rel=\"nofollow ugc\">&raquo; Examples\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.studiowombat.com\u002Fknowledge-base\u002F?utm_source=wporg&utm_medium=referral&utm_campaign=readme\" rel=\"nofollow ugc\">&raquo; Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.studiowombat.com\u002Fplugin\u002Fbusiness-hours-indicator\u002F?utm_source=wporg&utm_medium=referral&utm_campaign=readme\" rel=\"nofollow ugc\">&raquo; Pro Version\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>PHP 7.0 or higher\u003C\u002Fli>\n\u003Cli>WordPress 3.7 or higher\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>General features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Shortcode to display business hours\u003C\u002Fli>\n\u003Cli>Widget to display business hours\u003C\u002Fli>\n\u003Cli>Shortcode to display if you’re currently open\u002Fclosed\u003C\u002Fli>\n\u003Cli>Widget to display if you’re currently open\u002Fclosed\u003C\u002Fli>\n\u003Cli>Shortcode to display content only when you’re open\u003C\u002Fli>\n\u003Cli>Shortcode to display content only when you’re closed\u003C\u002Fli>\n\u003Cli>Choose your prefered time zone\u003C\u002Fli>\n\u003Cli>Display times in 12 or 24 hour format\u003C\u002Fli>\n\u003Cli>Enter multiple locations for more businesses (up to 3 in the free version)\u003C\u002Fli>\n\u003Cli>Include special hours such as holidays\u003C\u002Fli>\n\u003Cli>Include vacation hours\u003C\u002Fli>\n\u003Cli>Highlight the current day\u003C\u002Fli>\n\u003Cli>Frontend translated in: Dutch, German, English, Greek, Spanish, Catalan, Italian, French, Bulgarian, Swedish, Danish,\u003Cbr \u002F>\nSlovakian, Slovenian, Lithuanian, Croatian, Russian, Czech, Norwegian, Finnish, Icelandic, Latvian, Hungarian.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Displaying opening times\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Show the opening hours in a table\u003C\u002Fli>\n\u003Cli>Show the opening hours inline\u003C\u002Fli>\n\u003Cli>Consolidate the output: group days with the same opening hours\u003C\u002Fli>\n\u003Cli>Show\u002Fhide holiday hours\u003C\u002Fli>\n\u003Cli>Show\u002Fhide vacation hours\u003C\u002Fli>\n\u003Cli>Highlight the current day\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Currently open\u002Fclosed Indication\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Edit the “we’re currently open” message\u003C\u002Fli>\n\u003Cli>Edit the “we’re currently closed” message\u003C\u002Fli>\n\u003Cli>Include the current time in the output\u003C\u002Fli>\n\u003Cli>Include the current day in the output\u003C\u002Fli>\n\u003Cli>Add an opening\u002Fclosing soon warning like “hurry, we’re closing in 35 minutes”\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Limitations\u003C\u002Fh4>\n\u003Cp>The free version has some limitations you should be aware of. Our pro version (features below) fixes those.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The free version does not work with caching mechanisms.\u003C\u002Fli>\n\u003Cli>It’s not possible to add a break in opening hours.\u003C\u002Fli>\n\u003Cli>You can add up to 3 locations in the free version.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Developer API\u003C\u002Fh4>\n\u003Cp>Use the plugin anywhere in WordPress by using the following calls:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>MBHILITE()->is_open('location name')\u003C\u002Fcode> returns true if the location is currently open. False otherwise.\u003C\u002Fli>\n\u003Cli>\u003Ccode>MBHILITE()->is_closed('location name')\u003C\u002Fcode> returns true if the location is currently closed. False otherwise.\u003C\u002Fli>\n\u003Cli>\u003Ccode>MBHILITE()->get_opening_hours('location name')\u003C\u002Fcode> returns an array of objects containing the location’s opening hours.\u003C\u002Fli>\n\u003Cli>\u003Ccode>MBHILITE()->get_specials('location name')\u003C\u002Fcode> returns an array of objects containing the location’s special opening hours.\u003C\u002Fli>\n\u003Cli>\u003Ccode>MBHILITE()->get_vacations('location name')\u003C\u002Fcode> returns an array of objects containing the location’s vacations.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>More documentation coming soon.\u003C\u002Fp>\n\u003Ch4>PRO FEATURES\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Supports caching\u003C\u002Fli>\n\u003Cli>SEO features\u003C\u002Fli>\n\u003Cli>Enter unlimited multiple locations for more businesses\u003C\u002Fli>\n\u003Cli>Multiple time slots\u002Fday for when you close at noon\u003C\u002Fli>\n\u003Cli>Woocommerce support: disable orders + hide “add to cart” buttons when you are closed.\u003C\u002Fli>\n\u003Cli>‘Message builder’ allows you to add dynamic codes to build any message you like. A few examples:\n\u003Cul>\n\u003Cli>Today is March 8, we’re open from 9AM to 5PM.\u003C\u002Fli>\n\u003Cli>It’s 7:12PM, we’re closed. We open again on Thursday, in 7 hours and 45 minutes.\u003C\u002Fli>\n\u003Cli>Hurry, we’re closing in 13 minutes!\u003C\u002Fli>\n\u003Cli>..And much more!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Only show today’s opening times\u003C\u002Fli>\n\u003Cli>Seasonal hours\u003C\u002Fli>\n\u003Cli>Set how many minutes or hours in advance to show “opening\u002Fclosing soon” message.\u003C\u002Fli>\n\u003Cli>Customize output with line breaks & separators\u003C\u002Fli>\n\u003Cli>Premium support\u003C\u002Fli>\n\u003Cli>Receive updates & bugfixes\u003C\u002Fli>\n\u003Cli>Show abbreviated days in outputs\u003C\u002Fli>\n\u003Cli>More flexibility\u003C\u002Fli>\n\u003Cli>Priority feauture requests\u003C\u002Fli>\n\u003Cli>And more..!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Find out more about the \u003Ca href=\"https:\u002F\u002Fwww.studiowombat.com\u002Fplugin\u002Fbusiness-hours-indicator\u002F?utm_source=wporg&utm_medium=referral&utm_campaign=readme\" rel=\"nofollow ugc\">pro version here\u003C\u002Fa>\u003C\u002Fp>\n","Display opening hours and if you're currently open\u002Fclosed, with countdown to next opening. Show or hide content only when open\u002Fclosed & more!",8000,211122,98,60,"2025-10-11T16:06:00.000Z","6.8.5","3.7","5.6",[108,132,133,21,134],"currently-open","open-indication","opening-times","https:\u002F\u002Fwww.studiowombat.com\u002Fplugin\u002Fbusiness-hours-indicator\u002F\u002F?utm_source=bhifree&utm_medium=plugin&utm_campaign=plugins","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbusiness-hours-indicator.2.4.5.zip",1,"2021-08-02 00:00:00",{"slug":21,"name":140,"version":141,"author":142,"author_profile":143,"description":144,"short_description":145,"active_installs":146,"downloaded":147,"rating":114,"num_ratings":148,"last_updated":149,"tested_up_to":16,"requires_at_least":150,"requires_php":151,"tags":152,"homepage":155,"download_link":156,"security_score":157,"vuln_count":158,"unpatched_count":103,"last_vuln_date":159,"fetched_at":30},"We’re Open!","2.6","Noah Hearle","https:\u002F\u002Fprofiles.wordpress.org\u002Fdesignextreme\u002F","\u003Cp>Control all aspects of your business’ opening hours with this very easy management tool with multiple display options and conditional text while open or closed with renewed content upon status changes. This plugin offers a high degree of customization and can be placed almost anywhere using a shortcode or widget.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Shortcode and Widget\u003C\u002Fstrong> to display your opening hours in a wide variety of formats\u003C\u002Fli>\n\u003Cli>Responsive interface to quickly set regular opening hours separate from special opening hours for public holidays\u003C\u002Fli>\n\u003Cli>Set up to 3 groups of opening times per day\u003C\u002Fli>\n\u003Cli>Set 24 hour opening times\u003C\u002Fli>\n\u003Cli>Set a date range for a temporary closure of your business\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F#consolidation\" rel=\"nofollow ugc\">Consolidation of hours\u003C\u002Fa> with options for:\n\u003Cul>\n\u003Cli>Just weekdays,\u003C\u002Fli>\n\u003Cli>Just the weekend,\u003C\u002Fli>\n\u003Cli>Separate weekdays and the weekend,\u003C\u002Fli>\n\u003Cli>Full consolidation\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Very high level of customization such as:\n\u003Cul>\n\u003Cli>Separator characters,\u003C\u002Fli>\n\u003Cli>Extensive day and time formatting,\u003C\u002Fli>\n\u003Cli>Prefix and suffix for each group of times,\u003C\u002Fli>\n\u003Cli>Local language day names with option to overwrite,\u003C\u002Fli>\n\u003Cli>Consolidation words,\u003C\u002Fli>\n\u003Cli>Hiding of closed days,\u003C\u002Fli>\n\u003Cli>Start the week to any day including the current day,\u003C\u002Fli>\n\u003Cli>Regular or special opening hours only,\u003C\u002Fli>\n\u003Cli>Separate day\u002Fdate formatting for regular and special opening hours,\u003C\u002Fli>\n\u003Cli>Date labeling and notes for special opening hours,\u003C\u002Fli>\n\u003Cli>Date ranges, and much more…\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Option to refresh opening hours or reload the page at the start of each day\u003C\u002Fli>\n\u003Cli>HTML classes to give high-level of design customization (e.g. \u003Cem>past\u003C\u002Fem>, \u003Cem>today\u003C\u002Fem>, \u003Cem>tomorrow\u003C\u002Fem>, \u003Cem>future\u003C\u002Fem>, \u003Cem>special\u003C\u002Fem>)\u003C\u002Fli>\n\u003Cli>Right To Left (RTL) language support\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F#open-now\" rel=\"nofollow ugc\">\u003Cstrong>Conditional shortcode\u003C\u002Fstrong>\u003C\u002Fa> to show content only when open, closed or \u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F#open-special\" rel=\"nofollow ugc\">special opening hours\u003C\u002Fa>\n\u003Cul>\n\u003Cli>Automatic data refreshing or page reload occurring with a change of open or closed status\u003C\u002Fli>\n\u003Cli>Conditionally show HTML containing special opening hours – only when this is available\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Conditional text\u003C\u002Fstrong> with variables (e.g. show text or HTML relevant to current open status)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Structured Data\u003C\u002Fstrong> (\u003Ca href=\"http:\u002F\u002Fschema.org\" rel=\"nofollow ugc\">Schema.org\u003C\u002Fa>) support to give accurate information about opening hours to search engines and services such as Google My Business and it assists with SEO\u003C\u002Fli>\n\u003Cli>Populate and synchronize opening hours from Google My Business (Google API Key, Place ID, Google Billing Account are required)\u003C\u002Fli>\n\u003Cli>A comprehensive and \u003Cem>free\u003C\u002Fem> plugin with no upgrades for additional functionality\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Demo:\u003C\u002Fh4>\n\u003Cp>We have a comprehensive showcase of the shortcode’s design and functionality on our \u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F\" rel=\"nofollow ugc\">Demonstration Website\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F\" rel=\"nofollow ugc\">Basic Shortcode\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F#table\" rel=\"nofollow ugc\">Table designs\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F#text\" rel=\"nofollow ugc\">Opening hours as text\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F#consolidation\" rel=\"nofollow ugc\">Consolidation\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F#open-now\" rel=\"nofollow ugc\">Conditional shortcodes\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F#open-special\" rel=\"nofollow ugc\">Conditional special opening hours\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F#labels-notes\" rel=\"nofollow ugc\">Labels and notes\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F#open-text\" rel=\"nofollow ugc\">Replacement text and logic\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.designextreme.com\u002Fwere-open\u002F#open-text-reference\" rel=\"nofollow ugc\">Replacement text reference\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Recommendations:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>If populating from Google, I would recommend \u003Ca href=\"https:\u002F\u002Fbusiness.google.com\" rel=\"nofollow ugc\">setting your business in Google\u003C\u002Fa> and finding your \u003Ca href=\"https:\u002F\u002Fdevelopers.google.com\u002Fplaces\u002Fplace-id\" rel=\"nofollow ugc\">Place ID\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>And if used more than once, create a \u003Ca href=\"https:\u002F\u002Fconsole.cloud.google.com\u002Fbilling\" rel=\"nofollow ugc\">Google Billing Account\u003C\u002Fa> to receive your substantial free API Request allocation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>This is just my second public plugin and \u003Ca href=\"https:\u002F\u002Fdesignextreme.com\u002Fwordpress\u002Fwe-are-open\u002F\" rel=\"nofollow ugc\">all comments\u003C\u002Fa> are very welcome. It is a sister plugin to \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fg-business-reviews-rating\" rel=\"ugc\">Reviews and Rating – Google My Business\u003C\u002Fa>.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch3>Getting started with Google Places API\u003C\u002Fh3>\n\u003Cp>In order to retrieve your opening hours from Google My Business, you will need a Google API Key, locate your Place ID and set your billing information. With the Billing details, you’ll receive a substantial \u003Cem>free\u003C\u002Fem> allocation, ample enough to use this feature for free.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdevelopers.google.com\u002Fmaps\u002Fdocumentation\u002Fjavascript\u002Fget-api-key\" rel=\"nofollow ugc\">Google API Key Guidelines\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdevelopers.google.com\u002Fmaps\u002Fdocumentation\u002Fjavascript\u002Fexamples\u002Fplaces-placeid-finder\" rel=\"nofollow ugc\">Place ID Finder\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fconsole.cloud.google.com\u002Fbilling\u002Fenable\" rel=\"nofollow ugc\">Google Cloud Billing Account\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Opening hours for your business, a joy to manage and highly customizable. Conditional excerpts; conditional\u002Freplacement text; Structured Data for SEO.",5000,125035,44,"2026-01-04T15:37:00.000Z","5.3","5.2.4",[108,153,154,21,134],"open-hours","open-times","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fopening-hours\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fopening-hours.2.6.zip",99,5,"2023-02-27 00:00:00",{"slug":161,"name":162,"version":163,"author":164,"author_profile":165,"description":166,"short_description":167,"active_installs":168,"downloaded":169,"rating":170,"num_ratings":171,"last_updated":172,"tested_up_to":128,"requires_at_least":173,"requires_php":130,"tags":174,"homepage":180,"download_link":181,"security_score":157,"vuln_count":137,"unpatched_count":103,"last_vuln_date":182,"fetched_at":30},"order-hours-scheduler-for-woocommerce","Store Hours for WooCommerce","4.3.24","bizswoop","https:\u002F\u002Fprofiles.wordpress.org\u002Fbizswoop\u002F","\u003Cp>The best way to set a custom hours schedule for your online store! Disable visitors from being able to checkout during closed hours, enable checkout when the store is set to open. Set a holiday schedule. Display Status In a Box. It’s as easy as that!\u003C\u002Fp>\n\u003Cp>Are you a restaurant or business only open for select hours? Do you need a simple way to disable orders from being accepted outside select hours in the day?\u003C\u002Fp>\n\u003Cp>The Store Hours Manager Plugin enables\u002Fdisables the WooCommerce checkout functionality to only allow orders based on your hours schedule. If the store hours are marked as closed, no orders can be processed and WooCommerce checkout is disabled for the customer. The Plugin allows custom daily schedules with multiple hourly option time slots to provide flexibility based on your business needs. Ex., Close your store for lunch, open back up for dinner.\u003C\u002Fp>\n\u003Ch3>Core features:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Customize daily and hourly schedule functionality for store hours\u003C\u002Fli>\n\u003Cli>Display sitewide box pop-up to show store ordering status to visitors\u003C\u002Fli>\n\u003Cli>Configure display trigger by site, or by visit of user\u003C\u002Fli>\n\u003Cli>Configure days closed holiday calendar for the year\u003C\u002Fli>\n\u003Cli>Automatic enabling and disabling checkout functionality based on custom time schedules\u003C\u002Fli>\n\u003Cli>Force override schedule to instantly disable checkout functionality for rush times\u003C\u002Fli>\n\u003Cli>Management mode for admin and content creators\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>PLUS+ FEATURES! LOGOS, STYLE & EXTRA POWER **(PREMIUM ADD-ON)**\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Set Dismiss Options Including Duration and Dismiss Status\u003C\u002Fli>\n\u003Cli>Powerful Updated Store Hours Display Widget Now Included!\u003C\u002Fli>\n\u003Cli>Add Your Logo or Icon To Either Notification Types\u003C\u002Fli>\n\u003Cli>Advanced Shortcodes Included for Embedded Schedule\u003C\u002Fli>\n\u003Cli>Choose Notification Type Pop-up Box or Bar\u003C\u002Fli>\n\u003Cli>Customize Colors With Palette Selector To Match Branding\u003C\u002Fli>\n\u003Cli>Manage Floating Widget and Alert Notice based upon Schedule\u003C\u002Fli>\n\u003Cli>Display the Configured Weekly Schedule in a Pop-up for Customers\u003C\u002Fli>\n\u003Cli>Display a Countdown to Show Customers the Next Store Order Status Change and More…\u003C\u002Fli>\n\u003Cli>Buy Now \u003Ca href=\"https:\u002F\u002Fwww.bizswoop.com\u002Fstore-order-hours\u002F\" rel=\"nofollow ugc\">Store Hours Plus\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>PICK-UP, TAKE-OUT, CURBSIDE, DELIVERY & SHIP FUNCTIONALITY **(PREMIUM ADD-ON)**\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Allow customers to select a location take-out or pickup date\u002Ftime, local delivery date\u002Ftime or ship at checkout  \u003C\u002Fli>\n\u003Cli>Enable a scheduler for the pickup and delivery time slots\u003C\u002Fli>\n\u003Cli>Pickup and delivery range uses Shipping Zones and Methods to enable restrictions\u003C\u002Fli>\n\u003Cli>Buy Now \u003Ca href=\"https:\u002F\u002Fwww.bizswoop.com\u002Fpickup-delivery-scheduler\u002F\" rel=\"nofollow ugc\">Pickup Delivery Scheduler\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Create Custom Open & Close Store Schedules for Automatically Enabling & Disabling Customer Checkout Functionality for WooCommerce.",2000,83990,56,30,"2025-10-14T13:47:00.000Z","3.0",[175,176,177,178,179],"closing-time","opening-closing-time","opening-time","woocommerce","woocommerce-open-close","https:\u002F\u002Fwww.bizswoop.com\u002Fstore-order-hours\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Forder-hours-scheduler-for-woocommerce.4.3.24.zip","2024-09-25 00:00:00",{"slug":184,"name":185,"version":186,"author":187,"author_profile":188,"description":189,"short_description":190,"active_installs":114,"downloaded":191,"rating":114,"num_ratings":137,"last_updated":192,"tested_up_to":193,"requires_at_least":194,"requires_php":112,"tags":195,"homepage":201,"download_link":202,"security_score":203,"vuln_count":137,"unpatched_count":137,"last_vuln_date":204,"fetched_at":30},"popping-content-light","Popping Content Light","2.4","OTWthemes","https:\u002F\u002Fprofiles.wordpress.org\u002Fotwthemes\u002F","\u003Cp>Create custom popping layouts and insert ready to use shortcodes in just a few clicks. Nice and easy.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>How Popping Content works\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Set up Your Overlay \u002F Popup\u003C\u002Fli>\n\u003Cli>Create Layout \u003C\u002Fli>\n\u003Cli>Insert Shortcodes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All done in just a few clicks with the OTW Grid Manager.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Popup \u002F Overlay types\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Full bars \u003C\u002Fli>\n\u003Cli>Side boxs\u003C\u002Fli>\n\u003Cli>Popups \u002F Lightboxes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>10 Ready to use Shortcodes\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Insert any of the ready to use content items \u002F shortcodes to fill in content in your columns. All settings are easily done in a nice and intuitive interface. Here is the list of content items \u002F shortcodes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Button\u003C\u002Fli>\n\u003Cli>Info boxes\u003C\u002Fli>\n\u003Cli>Dropcaps\u003C\u002Fli>\n\u003Cli>Quotes\u003C\u002Fli>\n\u003Cli>Unordered Lists\u003C\u002Fli>\n\u003Cli>Ordered Lists\u003C\u002Fli>\n\u003Cli>Tabs\u003C\u002Fli>\n\u003Cli>Toggles\u003C\u002Fli>\n\u003Cli>Dividers (Horizontal rules)\u003C\u002Fli>\n\u003Cli>HTML editor\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Custom Layouts – OTW Grid Manager\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Creating custom layouts in your overlays is just a few clicks job with the OTW Grid Manager. No coding is required. It is all done in a very easy to use interface.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom styling\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Create a new class for each overlay \u002F popup in its edit screen so you can style it however you want.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Localization\u002FInternationalization\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin comes Localization\u002FInternationalization ready. It is following WordPress I18n standards.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Full version of the plugin\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Upgrade to the full version of \u003Ca href=\"https:\u002F\u002F1.envato.market\u002Fc\u002F1246358\u002F275988\u002F4415?subId1=pc&subId2=2020&subId3=https%3A%2F%2Fcodecanyon.net%2Fitem%2Fpopping-content-for-wordpress%2F10729697&u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Fpopping-content-for-wordpress%2F10729697\" rel=\"nofollow ugc\">Popping Content\u003C\u002Fa> |\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fotwthemes.com\u002Fdemos\u002F1ts\u002F?item=Popping%20Content&utm_source=wp.org&utm_medium=page&utm_content=upgrade&utm_campaign=pc\" rel=\"nofollow ugc\">Demo site\u003C\u002Fa>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Responsive Layouts in your Overlay\u003C\u002Fli>\n\u003Cli>50+ Ready to use Shortcodes\u003C\u002Fli>\n\u003Cli>Visibility for any set of pages, page templates, posts , categories, tags, archives, custom post types, taxonomies, user roles, WPML languages, WooCommerce, bbPress, BuddyPress\u003C\u002Fli>\n\u003Cli>Full Bar and Side Box Positioning – Header, Footer, Left and Right \u003C\u002Fli>\n\u003Cli>Full Bar and Side Box – Scrolling Type\u003C\u002Fli>\n\u003Cli>More Animations\u003C\u002Fli>\n\u003Cli>Active Periods\u003C\u002Fli>\n\u003Cli>More open\u002Fclose events – on page load, on page load with delay, after a number of page views, on exit intent, from a link, number of page loads, period of time, etc.\u003C\u002Fli>\n\u003Cli>Custom Styling via an interface in the back-end\u003C\u002Fli>\n\u003Cli>Overlay First Load – Opened \u002F Closed\u003C\u002Fli>\n\u003Cli>Content Position – right and center \u003C\u002Fli>\n\u003Cli>Show Button Label\u003C\u002Fli>\n\u003Cli>Hide for small screens – on \u002F off\u003C\u002Fli>\n\u003Cli>z-index\u003C\u002Fli>\n\u003Cli>Trigger from a link via Shortcodes\u003C\u002Fli>\n\u003Cli>Trigger form a WP menu item\u003C\u002Fli>\n\u003Cli>Support and Updates\u003C\u002Fli>\n\u003Cli>Zero Coding Required\u003C\u002Fli>\n\u003C\u002Ful>\n","Custom popping layouts. Insert ready to use shortcodes in just a few clicks.",8845,"2022-04-02T06:57:00.000Z","5.9.13","3.6",[196,197,198,199,200],"custom-layout","full-bar","lightbox","open-close-events","poping-content","http:\u002F\u002FOTWthemes.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpopping-content-light.zip",63,"2025-04-07 00:00:00",{"attackSurface":206,"codeSignals":569,"taintFlows":967,"riskAssessment":1085,"analyzedAt":1103},{"hooks":207,"ajaxHandlers":519,"restRoutes":559,"shortcodes":560,"cronEvents":566,"entryPointCount":567,"unprotectedCount":568},[208,215,221,225,229,234,238,242,245,248,252,255,259,263,266,270,273,277,280,284,288,292,296,300,304,309,313,316,319,323,328,333,335,339,343,347,350,354,359,364,368,372,377,380,383,387,391,394,399,402,404,409,411,413,416,419,422,425,428,431,435,437,442,444,447,451,455,458,461,465,467,469,473,474,478,482,485,487,489,494,499,503,506,509,512,516],{"type":209,"name":210,"callback":211,"priority":212,"file":213,"line":214},"filter","manage_woc_hour_posts_columns","add_columns",16,"includes\\classes\\class-columns.php",18,{"type":216,"name":217,"callback":218,"priority":219,"file":213,"line":220},"action","manage_woc_hour_posts_custom_column","columns_content",10,19,{"type":209,"name":222,"callback":223,"priority":219,"file":213,"line":224},"post_row_actions","remove_row_actions",20,{"type":209,"name":226,"callback":227,"priority":219,"file":213,"line":228},"months_dropdown_results","remove_date_filter",21,{"type":209,"name":230,"callback":231,"file":232,"line":233},"woc_filters_is_pro","is_pro_active","includes\\classes\\class-hooks-pro.php",17,{"type":209,"name":235,"callback":236,"priority":237,"file":232,"line":214},"plugin_row_meta","add_plugin_meta",999,{"type":209,"name":239,"callback":240,"priority":219,"file":232,"line":241},"wp_head","replace_on_single_product_empty_cart",24,{"type":209,"name":243,"callback":244,"priority":219,"file":232,"line":171},"woocommerce_loop_add_to_cart_link","replace_product_link",{"type":216,"name":246,"callback":247,"priority":219,"file":232,"line":14},"wooopenclose_pro_update_schedule","update_schedule",{"type":216,"name":249,"callback":250,"file":232,"line":251},"plugins_loaded","dokan_plugin_support",48,{"type":209,"name":253,"callback":254,"file":232,"line":26},"WOOOPENCLOSE\u002FFilters\u002Fis_open","control_store_status",{"type":209,"name":256,"callback":257,"priority":157,"file":232,"line":258},"woc_filters_shop_close_message","control_store_message",50,{"type":209,"name":260,"callback":261,"file":232,"line":262},"woocommerce_product_add_to_cart_text","add_to_cart_text",57,{"type":209,"name":264,"callback":261,"file":232,"line":265},"woocommerce_product_single_add_to_cart_text",58,{"type":216,"name":267,"callback":268,"file":232,"line":269},"woocommerce_before_cart","preorder_message_on_cart",59,{"type":216,"name":271,"callback":272,"file":232,"line":126},"woocommerce_before_thankyou","order_received_text",{"type":209,"name":274,"callback":275,"priority":219,"file":232,"line":276},"woocommerce_before_order_itemmeta","admin_order_itemmeta",61,{"type":209,"name":278,"callback":279,"priority":103,"file":232,"line":13},"woocommerce_add_to_cart_validation","woocommerce_add_to_cart_validation_check",{"type":209,"name":281,"callback":282,"file":232,"line":283},"woc_filters_get_active_schedule_id","update_active_schedule",213,{"type":209,"name":285,"callback":286,"file":232,"line":287},"dokan_get_dashboard_settings_nav","add_dashboad_menu",214,{"type":209,"name":289,"callback":290,"priority":219,"file":232,"line":291},"dokan_get_template_part","override_sidebar_widget",215,{"type":216,"name":293,"callback":294,"priority":237,"file":232,"line":295},"dokan_render_settings_content","render_settings_schedules",221,{"type":216,"name":297,"callback":298,"priority":219,"file":232,"line":299},"dokan_seller_listing_after_featured","display_store_status",227,{"type":209,"name":301,"callback":302,"file":232,"line":303},"wc_stripe_hide_payment_request_on_product_page","__return_true",446,{"type":216,"name":305,"callback":306,"file":307,"line":308},"init","ob_start","includes\\classes\\class-hooks.php",22,{"type":216,"name":310,"callback":311,"file":307,"line":312},"wp_footer","ob_end",23,{"type":216,"name":305,"callback":314,"file":307,"line":315},"register_everything",26,{"type":216,"name":310,"callback":317,"file":307,"line":318},"display_popup_statusbar",27,{"type":216,"name":320,"callback":321,"file":307,"line":322},"admin_notices","manage_admin_notices",28,{"type":216,"name":324,"callback":325,"priority":326,"file":307,"line":327},"admin_bar_menu","handle_admin_bar_menu",9999,29,{"type":209,"name":329,"callback":330,"priority":331,"file":307,"line":332},"widget_text","do_shortcode",11,31,{"type":209,"name":235,"callback":236,"priority":219,"file":307,"line":334},32,{"type":209,"name":336,"callback":337,"priority":219,"file":307,"line":338},"post_updated_messages","filter_update_messages",34,{"type":216,"name":340,"callback":341,"file":307,"line":342},"StackWC\u002FSettings\u002FOption\u002Fbefore_woc_instant_force","display_instant_controller",39,{"type":216,"name":344,"callback":345,"priority":103,"file":307,"line":346},"in_admin_header","render_admin_loader",40,{"type":209,"name":348,"callback":349,"file":307,"line":26},"wc_stripe_show_payment_request_on_cart","__return_false",{"type":209,"name":351,"callback":352,"priority":103,"file":307,"line":353},"woocommerce_order_button_html","__return_empty_string",55,{"type":216,"name":355,"callback":356,"file":357,"line":358},"post_submitbox_misc_actions","publish_box_content","includes\\classes\\class-post-meta.php",38,{"type":216,"name":360,"callback":361,"file":362,"line":363},"save_post","store_schedules_data","includes\\classes\\class-schedule.php",25,{"type":216,"name":365,"callback":366,"file":367,"line":126},"admin_init","manage_permanent_dismissible","includes\\wp-dev-kit\\classes\\class-client.php",{"type":216,"name":369,"callback":370,"priority":219,"file":371,"line":228},"wp_enqueue_scripts","collect_output_css_and_typography","includes\\wp-dev-kit\\settings\\classes\\abstract.class.php",{"type":216,"name":373,"callback":374,"file":375,"line":376},"admin_menu","add_admin_menu","includes\\wp-dev-kit\\settings\\classes\\admin-options.class.php",107,{"type":216,"name":324,"callback":378,"file":375,"line":379},"add_admin_bar_menu",108,{"type":216,"name":381,"callback":374,"file":375,"line":382},"network_admin_menu",112,{"type":209,"name":384,"callback":385,"file":375,"line":386},"admin_footer_text","add_admin_footer_text",489,{"type":216,"name":388,"callback":389,"file":390,"line":346},"add_meta_boxes_comment","add_comment_meta_box","includes\\wp-dev-kit\\settings\\classes\\comment-options.class.php",{"type":216,"name":392,"callback":393,"file":390,"line":14},"edit_comment","save_comment_meta_box",{"type":216,"name":395,"callback":396,"file":397,"line":398},"customize_register","add_customize_options","includes\\wp-dev-kit\\settings\\classes\\customize-options.class.php",43,{"type":216,"name":400,"callback":401,"file":397,"line":148},"customize_save_after","add_customize_save_after",{"type":216,"name":369,"callback":403,"file":397,"line":251},"get_options",{"type":216,"name":405,"callback":406,"file":407,"line":408},"add_meta_boxes","add_meta_box","includes\\wp-dev-kit\\settings\\classes\\metabox-options.class.php",54,{"type":216,"name":360,"callback":410,"file":407,"line":353},"save_meta_box",{"type":216,"name":412,"callback":410,"file":407,"line":170},"edit_attachment",{"type":216,"name":414,"callback":414,"priority":219,"file":415,"line":334},"wp_nav_menu_item_custom_fields","includes\\wp-dev-kit\\settings\\classes\\nav-menu-options.class.php",{"type":216,"name":417,"callback":417,"priority":219,"file":415,"line":418},"wp_update_nav_menu_item",33,{"type":209,"name":420,"callback":420,"priority":219,"file":415,"line":421},"wp_edit_nav_menu_walker",35,{"type":216,"name":365,"callback":423,"file":424,"line":334},"add_profile_options","includes\\wp-dev-kit\\settings\\classes\\profile-options.class.php",{"type":216,"name":426,"callback":427,"file":424,"line":148},"show_user_profile","render_profile_form_fields",{"type":216,"name":429,"callback":427,"file":424,"line":430},"edit_user_profile",45,{"type":216,"name":432,"callback":433,"file":424,"line":434},"personal_options_update","save_profile",47,{"type":216,"name":436,"callback":433,"file":424,"line":251},"edit_user_profile_update",{"type":216,"name":438,"callback":439,"file":440,"line":441},"after_setup_theme","setup","includes\\wp-dev-kit\\settings\\classes\\setup.class.php",74,{"type":216,"name":305,"callback":439,"file":440,"line":443},75,{"type":216,"name":445,"callback":439,"file":440,"line":446},"switch_theme",76,{"type":216,"name":448,"callback":449,"file":440,"line":450},"admin_enqueue_scripts","add_admin_enqueue_scripts",77,{"type":216,"name":369,"callback":452,"priority":453,"file":440,"line":454},"add_typography_enqueue_styles",80,78,{"type":216,"name":239,"callback":456,"priority":453,"file":440,"line":457},"add_custom_css",79,{"type":209,"name":459,"callback":460,"file":440,"line":453},"admin_body_class","add_admin_body_class",{"type":216,"name":462,"callback":463,"file":464,"line":26},"admin_footer","add_footer_modal_shortcode","includes\\wp-dev-kit\\settings\\classes\\shortcode-options.class.php",{"type":216,"name":466,"callback":463,"file":464,"line":258},"customize_controls_print_footer_scripts",{"type":216,"name":468,"callback":449,"file":464,"line":276},"elementor\u002Feditor\u002Fbefore_enqueue_scripts",{"type":216,"name":470,"callback":471,"file":464,"line":472},"elementor\u002Feditor\u002Ffooter","add_footer_modal_icon",62,{"type":216,"name":470,"callback":463,"file":464,"line":203},{"type":216,"name":475,"callback":476,"file":464,"line":477},"enqueue_block_editor_assets","add_guteberg_blocks",311,{"type":216,"name":479,"callback":480,"file":464,"line":481},"media_buttons","add_media_buttons",315,{"type":216,"name":365,"callback":483,"file":484,"line":398},"add_taxonomy_options","includes\\wp-dev-kit\\settings\\classes\\taxonomy-options.class.php",{"type":216,"name":462,"callback":471,"file":486,"line":14},"includes\\wp-dev-kit\\settings\\fields\\icon\\icon.php",{"type":216,"name":466,"callback":471,"file":486,"line":488},42,{"type":216,"name":490,"callback":491,"file":492,"line":493},"admin_print_footer_scripts","add_wp_link_dialog","includes\\wp-dev-kit\\settings\\fields\\link\\link.php",65,{"type":216,"name":495,"callback":496,"file":497,"line":498},"print_default_editor_scripts","setup_wp_editor_media_buttons","includes\\wp-dev-kit\\settings\\fields\\wp_editor\\wp_editor.php",64,{"type":216,"name":500,"callback":501,"file":502,"line":258},"before_woocommerce_init","wooopenclose_declare_woocommerce_compatibility","woc-open-close.php",{"type":216,"name":504,"callback":505,"file":502,"line":408},"after_uninstall","woc_fs_uninstall_cleanup",{"type":216,"name":448,"callback":507,"file":502,"line":508},"admin_scripts",87,{"type":216,"name":369,"callback":510,"file":502,"line":511},"front_scripts",88,{"type":216,"name":513,"callback":514,"file":502,"line":515},"widgets_init","register_widgets",90,{"type":216,"name":305,"callback":517,"priority":137,"file":502,"line":518},"load_text_domain",91,[520,523,526,528,532,536,539,544,547,551,555],{"action":521,"nopriv":522,"callback":521,"hasNonce":522,"hasCapCheck":522,"file":232,"line":358},"wooopenclose_pro_trash_schedule",false,{"action":524,"nopriv":522,"callback":524,"hasNonce":522,"hasCapCheck":525,"file":232,"line":342},"wooopenclose_pro_create_schedule",true,{"action":527,"nopriv":522,"callback":527,"hasNonce":522,"hasCapCheck":522,"file":232,"line":346},"wooopenclose_pro_make_active",{"action":529,"nopriv":522,"callback":530,"hasNonce":522,"hasCapCheck":522,"file":307,"line":531},"woc_add_schedule","ajax_add_schedule",36,{"action":533,"nopriv":522,"callback":534,"hasNonce":525,"hasCapCheck":525,"file":307,"line":535},"woc_switch_active","ajax_switch_active",37,{"action":537,"nopriv":522,"callback":538,"hasNonce":525,"hasCapCheck":525,"file":307,"line":358},"woc_update_timezone","ajax_update_timezone",{"action":540,"nopriv":522,"callback":541,"hasNonce":525,"hasCapCheck":522,"file":542,"line":543},"wpdk_settings-get-icons","pb_settings_get_icons","includes\\wp-dev-kit\\settings\\functions\\actions.php",53,{"action":545,"nopriv":522,"callback":546,"hasNonce":525,"hasCapCheck":522,"file":542,"line":518},"wpdk_settings-export","pb_settings_export",{"action":548,"nopriv":522,"callback":549,"hasNonce":525,"hasCapCheck":522,"file":542,"line":550},"wpdk_settings-import","pb_settings_import_ajax",128,{"action":552,"nopriv":522,"callback":553,"hasNonce":525,"hasCapCheck":522,"file":542,"line":554},"wpdk_settings-reset","pb_settings_reset_ajax",156,{"action":556,"nopriv":522,"callback":557,"hasNonce":525,"hasCapCheck":525,"file":542,"line":558},"wpdk_settings-chosen","pb_settings_chosen_ajax",196,[],[561,564],{"tag":562,"callback":563,"file":232,"line":531},"woc-manage-schedules","display_schedules_manager",{"tag":565,"callback":563,"file":232,"line":535},"wooopenclose-manage-schedules",[],13,3,{"dangerousFunctions":570,"sqlUsage":575,"outputEscaping":577,"fileOperations":103,"externalRequests":28,"nonceChecks":212,"capabilityChecks":958,"bundledLibraries":959},[571],{"fn":572,"file":357,"line":573,"context":574},"unserialize",287,"$posted_data = unserialize( $posted_data );",{"prepared":28,"raw":103,"locations":576},[],{"escaped":578,"rawEcho":579,"locations":580},708,261,[581,584,585,586,587,589,591,593,595,597,599,601,603,605,607,609,611,613,615,617,619,620,622,623,625,626,627,628,629,632,633,634,636,637,639,640,642,644,645,646,647,648,650,651,653,654,655,657,658,659,661,662,663,664,666,668,669,670,671,673,675,676,678,679,680,682,683,684,685,687,688,690,691,692,693,694,695,697,698,699,701,703,705,707,709,710,711,712,713,714,716,717,718,720,721,722,723,724,725,726,727,728,729,731,732,733,735,736,737,738,740,742,743,744,745,747,748,749,751,752,753,755,756,757,758,760,761,763,764,765,766,768,770,772,774,776,778,780,782,784,785,786,788,789,791,792,794,795,797,799,801,802,803,805,807,808,809,810,812,813,814,816,817,818,820,821,822,823,824,826,828,830,832,833,835,837,839,841,843,845,847,849,851,853,855,857,859,861,863,865,867,869,871,873,875,876,878,879,880,881,882,883,884,885,886,887,890,892,893,894,895,896,897,898,899,900,901,902,903,904,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,933,934,935,936,937,940,942,943,944,945,947,949,950,952,954,956],{"file":582,"line":269,"context":583},"includes\\classes\\class-widget-schedule.php","raw output",{"file":582,"line":126,"context":583},{"file":582,"line":92,"context":583},{"file":582,"line":13,"context":583},{"file":582,"line":588,"context":583},73,{"file":375,"line":590,"context":583},588,{"file":375,"line":592,"context":583},687,{"file":375,"line":594,"context":583},710,{"file":390,"line":596,"context":583},201,{"file":390,"line":598,"context":583},218,{"file":390,"line":600,"context":583},219,{"file":407,"line":602,"context":583},282,{"file":407,"line":604,"context":583},298,{"file":407,"line":606,"context":583},299,{"file":440,"line":608,"context":583},728,{"file":440,"line":610,"context":583},782,{"file":440,"line":612,"context":583},806,{"file":440,"line":614,"context":583},810,{"file":464,"line":616,"context":583},300,{"file":618,"line":228,"context":583},"includes\\wp-dev-kit\\settings\\fields\\accordion\\accordion.php",{"file":618,"line":269,"context":583},{"file":621,"line":472,"context":583},"includes\\wp-dev-kit\\settings\\fields\\background\\background.php",{"file":621,"line":573,"context":583},{"file":624,"line":312,"context":583},"includes\\wp-dev-kit\\settings\\fields\\backup\\backup.php",{"file":624,"line":315,"context":583},{"file":624,"line":327,"context":583},{"file":624,"line":332,"context":583},{"file":624,"line":418,"context":583},{"file":630,"line":631,"context":583},"includes\\wp-dev-kit\\settings\\fields\\border\\border.php",66,{"file":630,"line":446,"context":583},{"file":630,"line":125,"context":583},{"file":630,"line":635,"context":583},123,{"file":630,"line":550,"context":583},{"file":638,"line":327,"context":583},"includes\\wp-dev-kit\\settings\\fields\\button_set\\button_set.php",{"file":638,"line":262,"context":583},{"file":638,"line":641,"context":583},72,{"file":643,"line":315,"context":583},"includes\\wp-dev-kit\\settings\\fields\\checkbox\\checkbox.php",{"file":643,"line":531,"context":583},{"file":643,"line":26,"context":583},{"file":643,"line":203,"context":583},{"file":643,"line":90,"context":583},{"file":643,"line":649,"context":583},84,{"file":643,"line":515,"context":583},{"file":652,"line":418,"context":583},"includes\\wp-dev-kit\\settings\\fields\\code_editor\\code_editor.php",{"file":652,"line":338,"context":583},{"file":652,"line":421,"context":583},{"file":656,"line":228,"context":583},"includes\\wp-dev-kit\\settings\\fields\\color\\color.php",{"file":656,"line":308,"context":583},{"file":656,"line":312,"context":583},{"file":660,"line":228,"context":583},"includes\\wp-dev-kit\\settings\\fields\\color_group\\color_group.php",{"file":660,"line":171,"context":583},{"file":660,"line":332,"context":583},{"file":660,"line":535,"context":583},{"file":665,"line":228,"context":583},"includes\\wp-dev-kit\\settings\\fields\\content\\content.php",{"file":667,"line":315,"context":583},"includes\\wp-dev-kit\\settings\\fields\\date\\date.php",{"file":667,"line":346,"context":583},{"file":667,"line":14,"context":583},{"file":667,"line":430,"context":583},{"file":667,"line":672,"context":583},51,{"file":674,"line":332,"context":583},"includes\\wp-dev-kit\\settings\\fields\\datetime\\datetime.php",{"file":674,"line":430,"context":583},{"file":674,"line":677,"context":583},46,{"file":674,"line":258,"context":583},{"file":674,"line":170,"context":583},{"file":681,"line":14,"context":583},"includes\\wp-dev-kit\\settings\\fields\\dimensions\\dimensions.php",{"file":681,"line":26,"context":583},{"file":681,"line":265,"context":583},{"file":681,"line":446,"context":583},{"file":686,"line":220,"context":583},"includes\\wp-dev-kit\\settings\\fields\\fieldset\\fieldset.php",{"file":686,"line":531,"context":583},{"file":689,"line":318,"context":583},"includes\\wp-dev-kit\\settings\\fields\\gallery\\gallery.php",{"file":689,"line":488,"context":583},{"file":689,"line":398,"context":583},{"file":689,"line":148,"context":583},{"file":689,"line":430,"context":583},{"file":689,"line":434,"context":583},{"file":696,"line":398,"context":583},"includes\\wp-dev-kit\\settings\\fields\\group\\group.php",{"file":696,"line":434,"context":583},{"file":696,"line":408,"context":583},{"file":696,"line":700,"context":583},109,{"file":696,"line":702,"context":583},143,{"file":696,"line":704,"context":583},144,{"file":696,"line":706,"context":583},145,{"file":696,"line":708,"context":583},147,{"file":486,"line":241,"context":583},{"file":486,"line":332,"context":583},{"file":486,"line":334,"context":583},{"file":486,"line":418,"context":583},{"file":486,"line":531,"context":583},{"file":715,"line":327,"context":583},"includes\\wp-dev-kit\\settings\\fields\\image_select\\image_select.php",{"file":715,"line":434,"context":583},{"file":715,"line":262,"context":583},{"file":719,"line":488,"context":583},"includes\\wp-dev-kit\\settings\\fields\\image_select_sortable\\image_select_sortable.php",{"file":719,"line":472,"context":583},{"file":719,"line":588,"context":583},{"file":492,"line":535,"context":583},{"file":492,"line":14,"context":583},{"file":492,"line":398,"context":583},{"file":492,"line":434,"context":583},{"file":492,"line":251,"context":583},{"file":492,"line":26,"context":583},{"file":492,"line":672,"context":583},{"file":730,"line":430,"context":583},"includes\\wp-dev-kit\\settings\\fields\\link_color\\link_color.php",{"file":730,"line":353,"context":583},{"file":730,"line":472,"context":583},{"file":734,"line":26,"context":583},"includes\\wp-dev-kit\\settings\\fields\\map\\map.php",{"file":734,"line":543,"context":583},{"file":734,"line":269,"context":583},{"file":734,"line":450,"context":583},{"file":739,"line":276,"context":583},"includes\\wp-dev-kit\\settings\\fields\\media\\media.php",{"file":739,"line":741,"context":583},70,{"file":739,"line":454,"context":583},{"file":739,"line":457,"context":583},{"file":739,"line":518,"context":583},{"file":746,"line":315,"context":583},"includes\\wp-dev-kit\\settings\\fields\\number\\number.php",{"file":746,"line":322,"context":583},{"file":746,"line":332,"context":583},{"file":750,"line":228,"context":583},"includes\\wp-dev-kit\\settings\\fields\\palette\\palette.php",{"file":750,"line":148,"context":583},{"file":750,"line":543,"context":583},{"file":754,"line":315,"context":583},"includes\\wp-dev-kit\\settings\\fields\\radio\\radio.php",{"file":754,"line":421,"context":583},{"file":754,"line":251,"context":583},{"file":754,"line":472,"context":583},{"file":754,"line":759,"context":583},82,{"file":754,"line":511,"context":583},{"file":762,"line":334,"context":583},"includes\\wp-dev-kit\\settings\\fields\\repeater\\repeater.php",{"file":762,"line":531,"context":583},{"file":762,"line":276,"context":583},{"file":762,"line":157,"context":583},{"file":762,"line":767,"context":583},114,{"file":762,"line":769,"context":583},115,{"file":762,"line":771,"context":583},116,{"file":762,"line":773,"context":583},118,{"file":775,"line":418,"context":583},"includes\\wp-dev-kit\\settings\\fields\\select\\select.php",{"file":775,"line":777,"context":583},69,{"file":775,"line":779,"context":583},81,{"file":775,"line":781,"context":583},140,{"file":783,"line":322,"context":583},"includes\\wp-dev-kit\\settings\\fields\\slider\\slider.php",{"file":783,"line":418,"context":583},{"file":783,"line":358,"context":583},{"file":787,"line":220,"context":583},"includes\\wp-dev-kit\\settings\\fields\\sortable\\sortable.php",{"file":787,"line":441,"context":583},{"file":790,"line":363,"context":583},"includes\\wp-dev-kit\\settings\\fields\\sorter\\sorter.php",{"file":790,"line":203,"context":583},{"file":793,"line":543,"context":583},"includes\\wp-dev-kit\\settings\\fields\\spacing\\spacing.php",{"file":793,"line":203,"context":583},{"file":793,"line":796,"context":583},85,{"file":793,"line":798,"context":583},106,{"file":800,"line":315,"context":583},"includes\\wp-dev-kit\\settings\\fields\\spinner\\spinner.php",{"file":800,"line":322,"context":583},{"file":800,"line":171,"context":583},{"file":804,"line":228,"context":583},"includes\\wp-dev-kit\\settings\\fields\\submessage\\submessage.php",{"file":806,"line":241,"context":583},"includes\\wp-dev-kit\\settings\\fields\\switcher\\switcher.php",{"file":806,"line":315,"context":583},{"file":806,"line":171,"context":583},{"file":806,"line":421,"context":583},{"file":811,"line":228,"context":583},"includes\\wp-dev-kit\\settings\\fields\\tabbed\\tabbed.php",{"file":811,"line":327,"context":583},{"file":811,"line":269,"context":583},{"file":815,"line":332,"context":583},"includes\\wp-dev-kit\\settings\\fields\\text\\text.php",{"file":815,"line":338,"context":583},{"file":815,"line":531,"context":583},{"file":819,"line":220,"context":583},"includes\\wp-dev-kit\\settings\\fields\\textarea\\textarea.php",{"file":819,"line":224,"context":583},{"file":819,"line":228,"context":583},{"file":819,"line":308,"context":583},{"file":819,"line":358,"context":583},{"file":825,"line":312,"context":583},"includes\\wp-dev-kit\\settings\\fields\\typography\\typography.php",{"file":825,"line":827,"context":583},96,{"file":825,"line":829,"context":583},97,{"file":825,"line":831,"context":583},105,{"file":825,"line":798,"context":583},{"file":825,"line":834,"context":583},130,{"file":825,"line":836,"context":583},146,{"file":825,"line":838,"context":583},158,{"file":825,"line":840,"context":583},160,{"file":825,"line":842,"context":583},168,{"file":825,"line":844,"context":583},169,{"file":825,"line":846,"context":583},184,{"file":825,"line":848,"context":583},185,{"file":825,"line":850,"context":583},197,{"file":825,"line":852,"context":583},198,{"file":825,"line":854,"context":583},211,{"file":825,"line":856,"context":583},212,{"file":825,"line":858,"context":583},233,{"file":825,"line":860,"context":583},245,{"file":825,"line":862,"context":583},257,{"file":825,"line":864,"context":583},269,{"file":825,"line":866,"context":583},284,{"file":825,"line":868,"context":583},286,{"file":825,"line":870,"context":583},295,{"file":825,"line":872,"context":583},316,{"file":874,"line":322,"context":583},"includes\\wp-dev-kit\\settings\\fields\\upload\\upload.php",{"file":874,"line":148,"context":583},{"file":874,"line":877,"context":583},52,{"file":874,"line":543,"context":583},{"file":874,"line":408,"context":583},{"file":874,"line":262,"context":583},{"file":497,"line":148,"context":583},{"file":497,"line":251,"context":583},{"file":497,"line":877,"context":583},{"file":497,"line":649,"context":583},{"file":542,"line":398,"context":583},{"file":542,"line":796,"context":583},{"file":888,"line":889,"context":583},"includes\\wp-dev-kit\\settings\\functions\\customize.php",136,{"file":891,"line":233,"context":583},"templates\\admin\\meta-box-hour.php",{"file":891,"line":214,"context":583},{"file":891,"line":224,"context":583},{"file":891,"line":363,"context":583},{"file":891,"line":315,"context":583},{"file":891,"line":398,"context":583},{"file":891,"line":543,"context":583},{"file":891,"line":408,"context":583},{"file":891,"line":170,"context":583},{"file":891,"line":472,"context":583},{"file":891,"line":203,"context":583},{"file":891,"line":631,"context":583},{"file":891,"line":13,"context":583},{"file":905,"line":906,"context":583},"templates\\admin\\meta-box-publish.php",14,{"file":905,"line":212,"context":583},{"file":905,"line":220,"context":583},{"file":905,"line":318,"context":583},{"file":905,"line":322,"context":583},{"file":905,"line":171,"context":583},{"file":905,"line":421,"context":583},{"file":905,"line":531,"context":583},{"file":905,"line":358,"context":583},{"file":905,"line":398,"context":583},{"file":905,"line":148,"context":583},{"file":905,"line":677,"context":583},{"file":905,"line":672,"context":583},{"file":905,"line":877,"context":583},{"file":905,"line":170,"context":583},{"file":905,"line":170,"context":583},{"file":905,"line":262,"context":583},{"file":905,"line":472,"context":583},{"file":905,"line":498,"context":583},{"file":905,"line":13,"context":583},{"file":905,"line":441,"context":583},{"file":905,"line":443,"context":583},{"file":905,"line":454,"context":583},{"file":905,"line":453,"context":583},{"file":905,"line":779,"context":583},{"file":932,"line":312,"context":583},"templates\\admin\\single-schedule.php",{"file":932,"line":332,"context":583},{"file":932,"line":342,"context":583},{"file":932,"line":398,"context":583},{"file":932,"line":434,"context":583},{"file":938,"line":939,"context":583},"templates\\close-popup.php",12,{"file":941,"line":421,"context":583},"templates\\edit-schedule.php",{"file":941,"line":26,"context":583},{"file":941,"line":26,"context":583},{"file":941,"line":759,"context":583},{"file":941,"line":946,"context":583},94,{"file":941,"line":948,"context":583},104,{"file":941,"line":767,"context":583},{"file":941,"line":951,"context":583},124,{"file":953,"line":531,"context":583},"templates\\schedules\\layout-10.php",{"file":955,"line":14,"context":583},"templates\\schedules\\layout-3.php",{"file":957,"line":233,"context":583},"templates\\schedules\\layout-9.php",6,[960,963],{"name":961,"version":37,"knownCves":962},"jQuery",[],{"name":964,"version":965,"knownCves":966},"Freemius","1.0",[],[968,986,994,1002,1010,1019,1027,1036,1044,1054,1064,1077],{"entryPoint":969,"graph":970,"unsanitizedCount":137,"severity":985},"wooopenclose_pro_make_active (includes\\classes\\class-hooks-pro.php:334)",{"nodes":971,"edges":983},[972,977],{"id":973,"type":974,"label":975,"file":232,"line":976},"n0","source","$_POST",335,{"id":978,"type":979,"label":980,"file":232,"line":981,"wp_function":982},"n1","sink","update_option() [Settings Manipulation]",339,"update_option",[984],{"from":973,"to":978,"sanitized":522},"low",{"entryPoint":987,"graph":988,"unsanitizedCount":103,"severity":985},"\u003Cclass-hooks-pro> (includes\\classes\\class-hooks-pro.php:0)",{"nodes":989,"edges":992},[990,991],{"id":973,"type":974,"label":975,"file":232,"line":976},{"id":978,"type":979,"label":980,"file":232,"line":981,"wp_function":982},[993],{"from":973,"to":978,"sanitized":525},{"entryPoint":995,"graph":996,"unsanitizedCount":103,"severity":985},"ajax_update_timezone (includes\\classes\\class-hooks.php:96)",{"nodes":997,"edges":1000},[998,999],{"id":973,"type":974,"label":975,"file":307,"line":829},{"id":978,"type":979,"label":980,"file":307,"line":831,"wp_function":982},[1001],{"from":973,"to":978,"sanitized":525},{"entryPoint":1003,"graph":1004,"unsanitizedCount":103,"severity":985},"\u003Cclass-hooks> (includes\\classes\\class-hooks.php:0)",{"nodes":1005,"edges":1008},[1006,1007],{"id":973,"type":974,"label":975,"file":307,"line":829},{"id":978,"type":979,"label":980,"file":307,"line":831,"wp_function":982},[1009],{"from":973,"to":978,"sanitized":525},{"entryPoint":1011,"graph":1012,"unsanitizedCount":103,"severity":985},"save_meta_data (includes\\classes\\class-post-meta.php:284)",{"nodes":1013,"edges":1017},[1014,1015],{"id":973,"type":974,"label":975,"file":357,"line":868},{"id":978,"type":979,"label":1016,"file":357,"line":573,"wp_function":572},"unserialize() [Object Injection]",[1018],{"from":973,"to":978,"sanitized":525},{"entryPoint":1020,"graph":1021,"unsanitizedCount":103,"severity":985},"\u003Cclass-post-meta> (includes\\classes\\class-post-meta.php:0)",{"nodes":1022,"edges":1025},[1023,1024],{"id":973,"type":974,"label":975,"file":357,"line":868},{"id":978,"type":979,"label":1016,"file":357,"line":573,"wp_function":572},[1026],{"from":973,"to":978,"sanitized":525},{"entryPoint":1028,"graph":1029,"unsanitizedCount":137,"severity":985},"manage_permanent_dismissible (includes\\wp-dev-kit\\classes\\class-client.php:89)",{"nodes":1030,"edges":1034},[1031,1033],{"id":973,"type":974,"label":1032,"file":367,"line":518},"$_GET",{"id":978,"type":979,"label":980,"file":367,"line":827,"wp_function":982},[1035],{"from":973,"to":978,"sanitized":522},{"entryPoint":1037,"graph":1038,"unsanitizedCount":137,"severity":985},"\u003Cclass-client> (includes\\wp-dev-kit\\classes\\class-client.php:0)",{"nodes":1039,"edges":1042},[1040,1041],{"id":973,"type":974,"label":1032,"file":367,"line":518},{"id":978,"type":979,"label":980,"file":367,"line":827,"wp_function":982},[1043],{"from":973,"to":978,"sanitized":522},{"entryPoint":1045,"graph":1046,"unsanitizedCount":103,"severity":985},"pb_settings_export (includes\\wp-dev-kit\\settings\\functions\\actions.php:65)",{"nodes":1047,"edges":1052},[1048,1049],{"id":973,"type":974,"label":1032,"file":542,"line":13},{"id":978,"type":979,"label":1050,"file":542,"line":796,"wp_function":1051},"echo() [XSS]","echo",[1053],{"from":973,"to":978,"sanitized":525},{"entryPoint":1055,"graph":1056,"unsanitizedCount":103,"severity":985},"pb_settings_import_ajax (includes\\wp-dev-kit\\settings\\functions\\actions.php:103)",{"nodes":1057,"edges":1062},[1058,1060],{"id":973,"type":974,"label":1059,"file":542,"line":798},"$_POST (x2)",{"id":978,"type":979,"label":980,"file":542,"line":1061,"wp_function":982},122,[1063],{"from":973,"to":978,"sanitized":525},{"entryPoint":1065,"graph":1066,"unsanitizedCount":103,"severity":985},"\u003Cactions> (includes\\wp-dev-kit\\settings\\functions\\actions.php:0)",{"nodes":1067,"edges":1074},[1068,1069,1070,1072],{"id":973,"type":974,"label":1032,"file":542,"line":13},{"id":978,"type":979,"label":1050,"file":542,"line":796,"wp_function":1051},{"id":1071,"type":974,"label":1059,"file":542,"line":798},"n2",{"id":1073,"type":979,"label":980,"file":542,"line":1061,"wp_function":982},"n3",[1075,1076],{"from":973,"to":978,"sanitized":525},{"from":1071,"to":1073,"sanitized":525},{"entryPoint":1078,"graph":1079,"unsanitizedCount":103,"severity":985},"\u003Cedit-schedule> (templates\\edit-schedule.php:0)",{"nodes":1080,"edges":1083},[1081,1082],{"id":973,"type":974,"label":1032,"file":941,"line":71},{"id":978,"type":979,"label":1050,"file":941,"line":421,"wp_function":1051},[1084],{"from":973,"to":978,"sanitized":525},{"summary":1086,"deductions":1087},"The \"woc-open-close\" plugin version 4.9.9 presents a moderate to high security risk. While it demonstrates some good security practices, such as using prepared statements for all SQL queries and a high percentage of properly escaped output, several concerning factors remain. The presence of three unprotected AJAX handlers significantly increases the attack surface, allowing potential unauthenticated actions. Additionally, the use of the `unserialize()` function without proper input validation is a critical vulnerability that can lead to remote code execution if exploited.  The plugin's vulnerability history is also a major concern, with four previously disclosed CVEs, two of which remain unpatched. The common types of vulnerabilities found (Remote File Inclusion, Missing Authorization, Cross-site Scripting) directly correlate with some of the identified weaknesses in the code analysis, particularly the unprotected AJAX handlers and potentially the `unserialize()` function if input is not carefully controlled.  The late date of the last vulnerability (2025-10-08) suggests a recent discovery of issues, but the fact that two are unpatched is a significant red flag.",[1088,1091,1093,1095,1097,1099,1101],{"reason":1089,"points":1090},"3 unprotected AJAX handlers",15,{"reason":1092,"points":1090},"Use of unserialize() without sufficient checks",{"reason":1094,"points":224},"2 unpatched CVEs",{"reason":1096,"points":1090},"1 High severity CVE",{"reason":1098,"points":1090},"3 Medium severity CVEs",{"reason":1100,"points":27},"Bundled outdated Freemius v1.0",{"reason":1102,"points":158},"73% output properly escaped (indicates potential for XSS)","2026-03-16T19:22:47.640Z",{"wat":1105,"direct":1120},{"assetPaths":1106,"generatorPatterns":1112,"scriptPaths":1113,"versionParams":1114},[1107,1108,1109,1110,1111],"\u002Fwp-content\u002Fplugins\u002Fwoc-open-close\u002Fassets\u002Fjquery-timepicker.js","\u002Fwp-content\u002Fplugins\u002Fwoc-open-close\u002Fassets\u002Fchosen.jquery.min.js","\u002Fwp-content\u002Fplugins\u002Fwoc-open-close\u002Fassets\u002Fadmin\u002Fjs\u002Fscripts.js","\u002Fwp-content\u002Fplugins\u002Fwoc-open-close\u002Fassets\u002Ffront\u002Fjs\u002Fscripts.js","\u002Fwp-content\u002Fplugins\u002Fwoc-open-close\u002Fassets\u002Ffront\u002Fcss\u002Fstyle.css",[],[1107,1108,1109,1110],[1115,1116,1117,1118,1119],"woc-open-close\u002Fassets\u002Fjquery-timepicker.js?ver=","woc-open-close\u002Fassets\u002Fchosen.jquery.min.js?ver=","woc-open-close\u002Fassets\u002Fadmin\u002Fjs\u002Fscripts.js?ver=","woc-open-close\u002Fassets\u002Ffront\u002Fjs\u002Fscripts.js?ver=","woc-open-close\u002Fassets\u002Ffront\u002Fcss\u002Fstyle.css?ver=",{"cssClasses":1121,"htmlComments":1132,"htmlAttributes":1140,"restEndpoints":1144,"jsGlobals":1145,"shortcodeOutput":1147},[1122,1123,1124,1125,1126,1127,1128,1129,1130,1131],"woc-container-fluid","woc-open-close-main-wrap","woc-daily-schedule-wrap","woc-add-schedule-btn","woc-schedule-item","woc-status-active","woc-status-inactive","woc-schedule-edit-btn","woc-schedule-delete-btn","woc-schedule-toggle",[1133,1134,1135,1136,1137,1138,1139],"\u003C!-- WOOOPENCLOSE_PRO_PLUGIN_URL -->","\u003C!-- WOOOPENCLOSE_PLUGIN_DIR -->","\u003C!-- WOOOPENCLOSE_TICKET_URL -->","\u003C!-- WOOOPENCLOSE_PLUGIN_LINK -->","\u003C!-- WOOOPENCLOSE_DOCS_URL -->","\u003C!-- WOOOPENCLOSE_WP_REVIEW_URL -->","\u003C!-- WOOOPENCLOSE_VERSION -->",[1141,1142,1143],"data-woc-id","data-woc-action","data-woc-schedule-id",[],[1146],"wooopenclose",[]]