{"id":298996,"date":"2026-06-04T07:12:46","date_gmt":"2026-06-04T07:12:46","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/meine-offnungszeiten-offnungszeiten-widget\/"},"modified":"2026-06-04T07:12:38","modified_gmt":"2026-06-04T07:12:38","slug":"meine-oeffnungszeiten-widget","status":"publish","type":"plugin","link":"https:\/\/vec.wordpress.org\/plugins\/meine-oeffnungszeiten-widget\/","author":23478712,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.4","stable_tag":"0.1.4","tested":"7.0","requires":"5.0","requires_php":"","requires_plugins":null,"header_name":"Meine \u00d6ffnungszeiten \u2013 Opening Hours Widget","header_author":"Jonas Langbehn","header_description":"Display a dynamic opening hours widget on your WordPress website.","assets_banners_color":"","last_updated":"2026-06-04 07:12:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/meine-oeffnungszeiten.app","header_author_uri":"https:\/\/jonasl.dev","rating":0,"author_block_rating":0,"active_installs":0,"downloads":98,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.4":{"tag":"0.1.4","author":"jjklangbehn","date":"2026-06-04 07:12:38"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.4"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[12431,265747,15082,200749,162],"plugin_category":[43],"plugin_contributors":[265748],"plugin_business_model":[],"class_list":["post-298996","plugin","type-plugin","status-publish","hentry","plugin_tags-business-hours","plugin_tags-open-now","plugin_tags-opening-hours","plugin_tags-store-hours","plugin_tags-widget","plugin_category-customization","plugin_contributors-jjklangbehn","plugin_committers-jjklangbehn"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/meine-oeffnungszeiten-widget.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This plugin allows you to easily display a dynamic opening hours widget on your website.<\/p>\n\n<p>Instead of showing static opening hours, your visitors can instantly see whether your business is currently open or closed.<\/p>\n\n<p>Features:\n- Live \"Open now\" \/ \"Closed\" status\n- Automatic updates based on your configured hours\n- Simple integration with shortcode or automatic display\n- Works for any type of local business<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to meine-oeffnungszeiten.app to display the opening hours widget.<\/p>\n\n<p>The plugin loads an external script from https:\/\/meine-oeffnungszeiten.app\/embed.js and may load an embedded widget iframe from https:\/\/meine-oeffnungszeiten.app\/embed\/{widget_id}.<\/p>\n\n<p>The configured widget ID is sent to meine-oeffnungszeiten.app when the widget is displayed, so the correct opening hours can be loaded and shown on the website.<\/p>\n\n<p>Service provider: Jonas Langbehn \/ meine-oeffnungszeiten.app<\/p>\n\n<p>Terms of use: https:\/\/meine-oeffnungszeiten.app\/terms\nPrivacy policy: https:\/\/meine-oeffnungszeiten.app\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin via WordPress<\/li>\n<li>Enter your widget ID from meine-oeffnungszeiten.app<\/li>\n<li>Add the shortcode [meine_oeffnungszeiten] or enable automatic display<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20can%20i%20find%20my%20widget%20id%3F\"><h3>Where can I find my widget ID?<\/h3><\/dt>\n<dd><p>You can create and find your widget ID at meine-oeffnungszeiten.app<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>Removed external iframe preview from admin settings page (replaced with explanatory text and external link).<\/li>\n<li>Improved shortcode output escaping: moewidget_shortcode() now wraps output with wp_kses() using moewidget_allowed_widget_html().<\/li>\n<li>Added moewidget_allowed_widget_html() helper defining safe iframe and div attributes for shortcode output.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Renamed all plugin identifiers from short prefix <code>moi_<\/code> to <code>moewidget_<\/code> to comply with WordPress.org review guidelines<\/li>\n<li>Moved inline CSS to enqueued stylesheet (assets\/css\/moewidget.css)<\/li>\n<li>Moved inline JavaScript to enqueued script (assets\/js\/moewidget-admin.js)<\/li>\n<li>Registered external embed.js via wp_enqueue_script with async strategy<\/li>\n<li>Fixed all unescaped output: wp_kses() for HTML, esc_html()\/esc_attr()\/esc_url() throughout<\/li>\n<li>Added option migration from legacy moi_ option names for backward compatibility<\/li>\n<li>Added External services section to readme.txt documenting meine-oeffnungszeiten.app<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Minor fixes<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Automatically display whether your business is currently open or closed on your website.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/298996","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=298996"}],"author":[{"embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jjklangbehn"}],"wp:attachment":[{"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=298996"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=298996"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=298996"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=298996"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=298996"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vec.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=298996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}