[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fpMdJduIkKXdNOBZTI5QqOxRTzcG6PABmOUecs6eIZh4":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"vulnerabilities":28,"developer":29,"crawl_stats":26,"alternatives":34,"analysis":134,"fingerprints":381},"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","6.9.4","5.8","7.4",[18,19,20,21,22],"business-hours","countdown","open-closed","opening-hours","status-indicator","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fstatusdot.2.1.0.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},1,30,94,"2026-04-04T04:59:12.561Z",[35,58,79,99,117],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":45,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":50,"tags":51,"homepage":55,"download_link":56,"security_score":25,"vuln_count":30,"unpatched_count":11,"last_vuln_date":57,"fetched_at":27},"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",[18,52,53,21,54],"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","2021-08-02 00:00:00",{"slug":21,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":25,"num_ratings":67,"last_updated":68,"tested_up_to":14,"requires_at_least":69,"requires_php":70,"tags":71,"homepage":74,"download_link":75,"security_score":76,"vuln_count":77,"unpatched_count":11,"last_vuln_date":78,"fetched_at":27},"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",[18,72,73,21,54],"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":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":87,"downloaded":88,"rating":25,"num_ratings":77,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":92,"tags":93,"homepage":23,"download_link":97,"security_score":98,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"stylish-business-hours","Stylish Business Hours","1.0.3","Design","https:\u002F\u002Fprofiles.wordpress.org\u002Fdesignful\u002F","\u003Cp>With a sleek design, Stylish Business Hours lets you display your hours in style. Show your opening times however you want and indicate if you’re open or closed. Even show different opening times for special days like holidays!\u003C\u002Fp>\n\u003Ch3>Learn More\u003C\u002Fh3>\n\u003Cp>Visit \u003Ca href=\"https:\u002F\u002Fstylishpricelist.com\u002Fstylish-business-hours\u002F\" rel=\"nofollow ugc\">Stylish Business Hours\u003C\u002Fa> website for more details\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cp>\u003Cstrong> Holiday Hours \u003C\u002Fstrong>\u003Cbr \u002F>\nTired of entering all your business hours? Enter your year’s worth of holiday, and other irregular work hours and this plugin will show you special hours only when the date approaches.\u003C\u002Fp>\n\u003Cp>\u003Cstrong> Frontend Template Skins (GUI Styles) \u003C\u002Fstrong>\u003Cbr \u002F>\nWith Stylish Business Hours, you can choose from 9+ professionally designed templates that fit your current website design style seamlessly. Change up the business hours indicator frontend skins (designs) as many times as you want on different pages to make it completely personalized.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Short-codes\u003C\u002Fstrong>\u003Cbr \u002F>\nJust copy and paste the [shortcode] into any page to display the business hours (hours of operation).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Lightweight & Secure\u003C\u002Fstrong>\u003Cbr \u002F>\nInstalling this business hours WordPress plugin will no slow down your website.  Our plugins are lightweight and use minimal amounts of CSS and JS files to keep your site loading quickly! The plugin has been scanned with Codacy for security compliance.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Short-codes\u003C\u002Fstrong>\u003Cbr \u002F>\nAdd your business hours on any page of your website with a WordPress shortcode.\u003C\u002Fp>\n\u003Ch3>Buy The Premium Version\u003C\u002Fh3>\n\u003Cp>Premium version coming soon. Send us a support ticket to indicate you’re interested and we will email you when it’s ready.\u003Cbr \u002F>\nPremium version will cost $50 for a life-time license. The early-bird pricing will be $20 for a life-time license.\u003C\u002Fp>\n\u003Ch3>Free Versus Premium\u003C\u002Fh3>\n\u003Cp>Free Version\u003Cbr \u002F>\n• 2 Frontend Styles\u003Cbr \u002F>\n• Enter weekly business hours\u003Cbr \u002F>\n• Enter special hours (irregular hours, holiday hours)\u003C\u002Fp>\n\u003Cp>Premium Version\u003Cbr \u002F>\n• 9+ Frontend Styles\u003Cbr \u002F>\n• Everything on the free version\u003C\u002Fp>\n\u003Ch3>Designed For\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>T-Shirt Printing Business \u003C\u002Fli>\n\u003Cli>Car rental agencies\u003C\u002Fli>\n\u003Cli>Photographers \u003C\u002Fli>\n\u003Cli>Graphic & Website Designers\u003C\u002Fli>\n\u003Cli>Venue Rentals\u003C\u002Fli>\n\u003Cli>SEO Agents\u003C\u002Fli>\n\u003Cli>Hosting companies\u003C\u002Fli>\n\u003Cli>Retail businesses\u003C\u002Fli>\n\u003Cli>Massage studios\u003C\u002Fli>\n\u003Cli>Spas & Salons\u003C\u002Fli>\n\u003Cli>Any small business\u003C\u002Fli>\n\u003Cli>Much more\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Video: Tutorial for T-Shirt Printing Companies\u003C\u002Fh3>\n\u003Cp>Video tutorial coming soon.\u003C\u002Fp>\n\u003Ch4>Docs & Support\u003C\u002Fh4>\n\u003Cp>Please fill-out a support ticket here https:\u002F\u002Fstylishpricelist.com\u002Fstylish-business-hours\u002F\u003C\u002Fp>\n\u003Ch4>Recommended Plugins\u003C\u002Fh4>\n\u003Cp>No plugins are necessary for this plugin to work.\u003C\u002Fp>\n","With a sleek design, Stylish Business Hours lets you display your hours in style. Show your opening times however you want and indicate if you're &hellip;",50,2164,"2023-08-16T23:04:00.000Z","6.3.0","5.0","7.0",[18,21,94,95,96],"operation-of-hours","responsive-hours","styish-business-hours","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fstylish-business-hours.zip",85,{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":107,"downloaded":108,"rating":11,"num_ratings":11,"last_updated":109,"tested_up_to":14,"requires_at_least":110,"requires_php":111,"tags":112,"homepage":23,"download_link":116,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"bitkit-opening-hours-holidays","Bitkit Opening Hours & Holidays","1.0.1","bitkit","https:\u002F\u002Fprofiles.wordpress.org\u002Fbitkit\u002F","\u003Cp>Bitkit Opening Hours + Holidays lets you manage business hours, holidays and vacation periods for a single location and display them via shortcode, Gutenberg block or classic widget – including an optional “Now open?” badge and JSON-LD structured data for search engines.\u003C\u002Fp>\n\u003Ch4>What this plugin does\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Define weekly opening hours (Mon–Sun) with multiple time windows per day.\u003C\u002Fli>\n\u003Cli>Add special days (e.g. public holidays, one-off openings\u002Fclosings).\u003C\u002Fli>\n\u003Cli>Add vacation periods with custom hours or “closed all day”.\u003C\u002Fli>\n\u003Cli>Show a “Now open \u002F Now closed” badge with human-readable “next change” text.\u003C\u002Fli>\n\u003Cli>Output JSON-LD (Schema.org) for \u003Ccode>openingHoursSpecification\u003C\u002Fcode> and special opening hours to help search engines display correct business hours.\u003C\u002Fli>\n\u003Cli>Render via:\n\u003Cul>\n\u003Cli>Gutenberg block “Opening Hours”\u003C\u002Fli>\n\u003Cli>Classic widget “Opening Hours”\u003C\u002Fli>\n\u003Cli>Shortcodes for hours, badge and special days.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Free version: one global location (one set of hours) per site.\u003Cbr \u002F>\nA Pro add-on for multiple locations and extended features is planned, but the free plugin is fully usable on its own.\u003C\u002Fp>\n\u003Ch4>Key features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Single global location (Free)\u003C\u002Fstrong> – one central timetable for your business.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Weekly opening hours\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Multiple time windows per day (e.g. 09:00–12:00 and 13:30–18:00).\u003C\u002Fli>\n\u003Cli>Mark days as closed.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Special days \u002F holidays\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Override normal hours for specific calendar days.\u003C\u002Fli>\n\u003Cli>Mark as closed or set custom hours.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Vacation periods\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Configure longer ranges (e.g. company vacation).\u003C\u002Fli>\n\u003Cli>Closed or limited hours during the range.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Display options\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Show\u002Fhide “Now open?” badge.\u003C\u002Fli>\n\u003Cli>Show\u002Fhide “Next change” text (“closes in 2 hours”, …).\u003C\u002Fli>\n\u003Cli>Show\u002Fhide closed days in the weekly grid.\u003C\u002Fli>\n\u003Cli>Choose time and date formats (PHP date\u002Ftime format).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Views\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Cstrong>Grid view\u003C\u002Fstrong> – full weekly overview.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Today view\u003C\u002Fstrong> – only show today’s opening hours.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compact view\u003C\u002Fstrong> – badge + short line of text (for tight spaces, sidebars, footers).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Structured data\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Outputs Schema.org JSON-LD for \u003Ccode>LocalBusiness\u003C\u002Fcode> with weekly and special opening hours.\u003C\u002Fli>\n\u003Cli>Uses your site title and home URL by default.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Editor integrations\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Gutenberg block with inspector controls for view, badge, “next change”, JSON-LD and optional CTA link.\u003C\u002Fli>\n\u003Cli>Classic widget for legacy themes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translations\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Ships with initial translations: de_DE, de_CH, fr_FR, it_IT, es_ES, nl_NL, da_DK, fi, sv_SE, nb_NO, cs_CZ, pl_PL, pt_PT, ru_RU, ja, zh_CN.\u003C\u002Fli>\n\u003Cli>Fully ready for translate.wordpress.org.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Cp>All shortcodes automatically use the global settings from \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Opening Hours\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Main output (grid view)\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[bkohh_opening_hours]  \n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Renders the weekly grid with your current settings.\u003C\u002Fp>\n\u003Cp>Optional attributes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>timezone\u003C\u002Fcode> – override configured timezone (e.g. \u003Ccode>timezone=\"Europe\u002FZurich\"\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>\u003Ccode>format_time\u003C\u002Fcode> – override time format (\u003Ccode>H:i\u003C\u002Fcode>, \u003Ccode>g:i A\u003C\u002Fcode>, …).\u003C\u002Fli>\n\u003Cli>\u003Ccode>format_date\u003C\u002Fcode> – override date format for any dates that are shown.\u003C\u002Fli>\n\u003Cli>\u003Ccode>jsonld\u003C\u002Fcode> – \u003Ccode>1\u003C\u002Fcode> (default) to append JSON-LD, \u003Ccode>0\u003C\u002Fcode> to disable.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>“Now open?” badge\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[bkohh_open_badge]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Outputs a compact block with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Badge: “Now open” \u002F “Now closed”.\u003C\u002Fli>\n\u003Cli>Optional “next change” text (e.g. “closes in 45 min”).\u003C\u002Fli>\n\u003Cli>Optional CTA link (label + URL) configured via shortcode or block\u002Fwidget.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Respects the timezone, formats and display options from the settings.\u003C\u002Fp>\n\u003Ch4>Upcoming special days\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[bkohh_special_days]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Shows a small list of upcoming special days\u002Fholidays.\u003C\u002Fp>\n\u003Cp>Useful attributes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>limit\u003C\u002Fcode> – maximum number of items to show (default: \u003Ccode>5\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>\u003Ccode>empty_text\u003C\u002Fcode> – text to display if there are no upcoming special days.\u003C\u002Fli>\n\u003Cli>\u003Ccode>timezone\u003C\u002Fcode>, \u003Ccode>format_date\u003C\u002Fcode>, \u003Ccode>format_time\u003C\u002Fcode> – overrides for date\u002Ftime output.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Grouped weekly hours\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[bkohh_grouped_hours]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Groups days with identical hours into ranges (e.g. “Mon–Fri 09:00–18:00, Sat 10:00–14:00”).\u003Cbr \u002F>\nRespects the global display settings (badge, next change, closed days).\u003C\u002Fp>\n","Manage and display business opening hours, holidays and vacation periods with shortcodes, a Gutenberg block, a widget and JSON-LD structured data.",10,166,"2025-12-11T15:51:00.000Z","6.4","8.1",[113,18,114,21,115],"block","holidays","widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbitkit-opening-hours-holidays.1.0.1.zip",{"slug":118,"name":119,"version":120,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":107,"downloaded":125,"rating":11,"num_ratings":11,"last_updated":126,"tested_up_to":48,"requires_at_least":127,"requires_php":128,"tags":129,"homepage":132,"download_link":133,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"gellum-business-hours","Gellum Business Hours for WooCommerce","1.3.8","Gellum.com","https:\u002F\u002Fprofiles.wordpress.org\u002Fgellum\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fgellum.com\" rel=\"nofollow ugc\">Gellum\u003C\u002Fa> Business Hours allows WooCommerce store owners to easily define their operating schedule for each day of the week. When the store is outside of these hours, the plugin can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Disable checkout functionality, preventing orders from being placed.\u003C\u002Fli>\n\u003Cli>Display a customizable notice (using WooCommerce’s native system) informing customers that the store is currently closed.\u003C\u002Fli>\n\u003Cli>Inform customers of the next available date and time the store will be open.\u003C\u002Fli>\n\u003Cli>Shortcode that allows you to easily add a store status notice to any page. [gellum_business_hours]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Features:\u003Cbr \u002F>\n* Set opening and closing times for each day of the week.\u003Cbr \u002F>\n* Time selection in 15-minute intervals using a 24-hour format.\u003Cbr \u002F>\n* Enable or disable specific days entirely.\u003Cbr \u002F>\n* User-friendly settings page integrated into the WooCommerce menu.\u003Cbr \u002F>\n* Automatic detection of store status based on current WordPress timezone settings.\u003Cbr \u002F>\n* Clear notifications for customers regarding store status and next opening time.\u003Cbr \u002F>\n* HPOS (High-Performance Order Storage) compatible.\u003Cbr \u002F>\n* Customizable admin interface with “Readex Pro” Google Font for a modern look.\u003Cbr \u002F>\n* Shortcode \u003Ccode>[gellum_business_hours]\u003C\u002Fcode> to display current store status on your website’s frontend.\u003C\u002Fp>\n\u003Ch3>Suggestions?\u003C\u002Fh3>\n\u003Cp>If you have suggestions for improving this plugin, such as fixing bugs or adding new features, please share them here: \u003Ca href=\"https:\u002F\u002Fgellum.com\u002Fopensource\" rel=\"nofollow ugc\">https:\u002F\u002Fgellum.com\u002Fopensource\u003C\u002Fa>\u003C\u002Fp>\n","Manage your WooCommerce store's business hours. Disable checkout and display notices when the store is closed, indicating the next opening time.",410,"2025-06-12T16:51:00.000Z","6.2","7.2",[18,130,21,131],"ecommerce","woocommerce","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgellum-business-hours\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgellum-business-hours.1.3.8.zip",{"attackSurface":135,"codeSignals":182,"taintFlows":345,"riskAssessment":372,"analyzedAt":380},{"hooks":136,"ajaxHandlers":167,"restRoutes":176,"shortcodes":177,"cronEvents":180,"entryPointCount":181,"unprotectedCount":11},[137,143,147,150,155,159,163],{"type":138,"name":139,"callback":140,"file":141,"line":142},"action","admin_menu","add_menu","includes\\class-statusdot-opening-hours.php",45,{"type":138,"name":144,"callback":145,"file":141,"line":146},"admin_init","maybe_migrate_old_options",55,{"type":138,"name":144,"callback":148,"file":141,"line":149},"maybe_sync_from_saved_pro_default",56,{"type":138,"name":151,"callback":152,"file":153,"line":154},"init","init_modules","statusdot.php",70,{"type":138,"name":156,"callback":157,"file":153,"line":158},"wp_enqueue_scripts","enqueue_assets",72,{"type":138,"name":160,"callback":161,"file":153,"line":162},"admin_enqueue_scripts","enqueue_assets_admin",73,{"type":138,"name":164,"callback":165,"file":153,"line":166},"admin_notices","maybe_notice_freemius_missing",75,[168,174],{"action":169,"nopriv":170,"callback":171,"hasNonce":172,"hasCapCheck":170,"file":141,"line":173},"statusdot_get_status",false,"ajax_get_status",true,46,{"action":169,"nopriv":172,"callback":171,"hasNonce":172,"hasCapCheck":170,"file":141,"line":175},47,[],[178],{"tag":4,"callback":179,"file":141,"line":87},"shortcode",[],3,{"dangerousFunctions":183,"sqlUsage":184,"outputEscaping":186,"fileOperations":11,"externalRequests":11,"nonceChecks":181,"capabilityChecks":339,"bundledLibraries":340},[],{"prepared":11,"raw":11,"locations":185},[],{"escaped":187,"rawEcho":188,"locations":189},82,74,[190,193,195,197,199,201,203,205,207,209,211,213,215,217,219,221,223,225,227,229,231,233,235,237,239,241,243,245,247,249,251,253,255,257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,313,315,317,319,321,323,325,327,329,331,333,335,337],{"file":141,"line":191,"context":192},1088,"raw output",{"file":141,"line":194,"context":192},1163,{"file":141,"line":196,"context":192},1176,{"file":141,"line":198,"context":192},1188,{"file":141,"line":200,"context":192},1189,{"file":141,"line":202,"context":192},1190,{"file":141,"line":204,"context":192},1211,{"file":141,"line":206,"context":192},1216,{"file":141,"line":208,"context":192},1217,{"file":141,"line":210,"context":192},1224,{"file":141,"line":212,"context":192},1225,{"file":141,"line":214,"context":192},1245,{"file":141,"line":216,"context":192},1247,{"file":141,"line":218,"context":192},1248,{"file":141,"line":220,"context":192},1249,{"file":141,"line":222,"context":192},1253,{"file":141,"line":224,"context":192},1255,{"file":141,"line":226,"context":192},1256,{"file":141,"line":228,"context":192},1257,{"file":141,"line":230,"context":192},1258,{"file":141,"line":232,"context":192},1262,{"file":141,"line":234,"context":192},1270,{"file":141,"line":236,"context":192},1274,{"file":141,"line":238,"context":192},1276,{"file":141,"line":240,"context":192},1277,{"file":141,"line":242,"context":192},1287,{"file":141,"line":244,"context":192},1290,{"file":141,"line":246,"context":192},1294,{"file":141,"line":248,"context":192},1298,{"file":141,"line":250,"context":192},1304,{"file":141,"line":252,"context":192},1309,{"file":141,"line":254,"context":192},1335,{"file":141,"line":256,"context":192},1338,{"file":141,"line":258,"context":192},1343,{"file":141,"line":260,"context":192},1346,{"file":141,"line":262,"context":192},1351,{"file":141,"line":264,"context":192},1354,{"file":141,"line":266,"context":192},1356,{"file":141,"line":268,"context":192},1364,{"file":141,"line":270,"context":192},1365,{"file":141,"line":272,"context":192},1367,{"file":141,"line":274,"context":192},1372,{"file":141,"line":276,"context":192},1378,{"file":141,"line":278,"context":192},1380,{"file":141,"line":280,"context":192},1381,{"file":141,"line":282,"context":192},1388,{"file":141,"line":284,"context":192},1390,{"file":141,"line":286,"context":192},1394,{"file":141,"line":288,"context":192},1398,{"file":141,"line":290,"context":192},1400,{"file":141,"line":292,"context":192},1401,{"file":141,"line":294,"context":192},1402,{"file":141,"line":296,"context":192},1406,{"file":141,"line":298,"context":192},1408,{"file":141,"line":300,"context":192},1409,{"file":141,"line":302,"context":192},1410,{"file":141,"line":304,"context":192},1414,{"file":141,"line":306,"context":192},1423,{"file":141,"line":308,"context":192},1424,{"file":141,"line":310,"context":192},1425,{"file":141,"line":312,"context":192},1426,{"file":141,"line":314,"context":192},1427,{"file":141,"line":316,"context":192},1471,{"file":141,"line":318,"context":192},1476,{"file":141,"line":320,"context":192},1483,{"file":141,"line":322,"context":192},1488,{"file":141,"line":324,"context":192},1501,{"file":141,"line":326,"context":192},1507,{"file":141,"line":328,"context":192},1510,{"file":141,"line":330,"context":192},1511,{"file":141,"line":332,"context":192},1528,{"file":141,"line":334,"context":192},1529,{"file":141,"line":336,"context":192},1530,{"file":153,"line":338,"context":192},164,4,[341],{"name":342,"version":343,"knownCves":344},"Freemius","1.0",[],[346,364],{"entryPoint":347,"graph":348,"unsanitizedCount":11,"severity":363},"settings_page (includes\\class-statusdot-opening-hours.php:924)",{"nodes":349,"edges":361},[350,355],{"id":351,"type":352,"label":353,"file":141,"line":354},"n0","source","$_POST (x9)",946,{"id":356,"type":357,"label":358,"file":141,"line":359,"wp_function":360},"n1","sink","update_option() [Settings Manipulation]",948,"update_option",[362],{"from":351,"to":356,"sanitized":172},"low",{"entryPoint":365,"graph":366,"unsanitizedCount":11,"severity":363},"\u003Cclass-statusdot-opening-hours> (includes\\class-statusdot-opening-hours.php:0)",{"nodes":367,"edges":370},[368,369],{"id":351,"type":352,"label":353,"file":141,"line":354},{"id":356,"type":357,"label":358,"file":141,"line":359,"wp_function":360},[371],{"from":351,"to":356,"sanitized":172},{"summary":373,"deductions":374},"The \"statusdot\" v2.2.0 plugin demonstrates a generally strong security posture, with no known historical vulnerabilities and a proactive approach to secure coding practices. The static analysis reveals a low attack surface consisting of three entry points, all of which appear to be protected by authentication checks. The plugin also utilizes prepared statements for all SQL queries, avoids dangerous functions, and performs file operations and external HTTP requests, which are positive security indicators.\n\nHowever, a significant concern arises from the output escaping. With 156 total outputs, only 53% are properly escaped, leaving a substantial portion potentially vulnerable to cross-site scripting (XSS) attacks. While the taint analysis shows no unsanitized flows, the high percentage of unescaped output remains a critical area of risk that could be exploited if an attacker can inject malicious scripts into the data displayed by the plugin. The presence of a bundled library (Freemius v1.0) also warrants attention, as outdated bundled libraries can sometimes introduce vulnerabilities.\n\nIn conclusion, while \"statusdot\" excels in areas like SQL security and avoiding direct vulnerabilities, the significant output escaping deficiency presents a clear and present danger. The lack of historical vulnerabilities is a positive sign, but it does not mitigate the immediate risk posed by the unescaped output. Addressing this issue should be the highest priority to improve the plugin's overall security.",[375,378],{"reason":376,"points":377},"Insufficient output escaping",15,{"reason":379,"points":181},"Bundled library outdated (Freemius v1.0)","2026-03-17T06:54:05.544Z",{"wat":382,"direct":394},{"assetPaths":383,"generatorPatterns":388,"scriptPaths":389,"versionParams":390},[384,385,386,387],"\u002Fwp-content\u002Fplugins\u002Fstatusdot\u002Fassets\u002Fcss\u002Fstatusdot-status.css","\u002Fwp-content\u002Fplugins\u002Fstatusdot\u002Fassets\u002Fjs\u002Fstatusdot-frontend.js","\u002Fwp-content\u002Fplugins\u002Fstatusdot\u002Fassets\u002Fcss\u002Fstatusdot-admin.css","\u002Fwp-content\u002Fplugins\u002Fstatusdot\u002Fassets\u002Fjs\u002Fstatusdot-admin.js",[],[385,387],[391,392,393],"statusdot-status?ver=","statusdot-frontend?ver=","statusdot-admin?ver=",{"cssClasses":395,"htmlComments":398,"htmlAttributes":399,"restEndpoints":405,"jsGlobals":406,"shortcodeOutput":409},[396,397],"statusdot-dot","statusdot-label",[],[400,401,402,403,404],"data-statusdot-ajax-url","data-statusdot-nonce","data-statusdot-pro-nonce","data-statusdot-is-pro","data-statusdot-rev",[],[407,408],"StatusDotData","StatusDotAdmin",[]]