{"id":254257,"date":"2025-10-06T13:44:58","date_gmt":"2025-10-06T13:44:58","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/admin-maintenance-message\/"},"modified":"2025-11-11T19:38:20","modified_gmt":"2025-11-11T19:38:20","slug":"admin-maintenance-message","status":"publish","type":"plugin","link":"https:\/\/gl.wordpress.org\/plugins\/admin-maintenance-message\/","author":282619,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.2","stable_tag":"1.0.2","tested":"6.8.5","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Admin Maintenance Message","header_author":"Andreas Grzybowski (codekeks.de)","header_description":"Zeigt eine konfigurierbare Wartungsleiste im WP-Admin f\u00fcr alle Rollen an. Einstellungen unter \u201eEinstellungen \u2192 Wartungshinweis\u201c.","assets_banners_color":"fffbe6","last_updated":"2025-11-11 19:38:20","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/codekeks.de\/","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":70,"downloads":748,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.5":{"tag":"0.1.5","author":"antman313","date":"2025-10-06 13:45:27"},"1.0.0":{"tag":"1.0.0","author":"antman313","date":"2025-11-11 16:23:02"},"1.0.1":{"tag":"1.0.1","author":"antman313","date":"2025-11-11 16:23:02"},"1.0.2":{"tag":"1.0.2","author":"antman313","date":"2025-11-11 19:38:20"}},"upgrade_notice":{"1.0.1":"<p>Major upgrade with full frontend maintenance mode, role control, and improved compliance.<br \/>\nPlease re-save your settings once after updating.<\/p>\n\n<hr \/>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3373740,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3373740,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3373740,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.5","1.0.0","1.0.1","1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3377014,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3377014,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3377014,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"Admin settings page","2":"Dashboard maintenance banner","3":"Frontend maintenance landing page (template mode)"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[83,784,732,1334],"plugin_category":[52],"plugin_contributors":[248834],"plugin_business_model":[],"class_list":["post-254257","plugin","type-plugin","status-publish","hentry","plugin_tags-admin","plugin_tags-banner","plugin_tags-maintenance","plugin_tags-notice","plugin_category-performance","plugin_contributors-antman313","plugin_committers-antman313"],"banners":{"banner":"https:\/\/ps.w.org\/admin-maintenance-message\/assets\/banner-772x250.png?rev=3373740","banner_2x":"https:\/\/ps.w.org\/admin-maintenance-message\/assets\/banner-1544x500.png?rev=3373740","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/admin-maintenance-message\/assets\/icon-256x256.png?rev=3373740","icon_2x":"https:\/\/ps.w.org\/admin-maintenance-message\/assets\/icon-256x256.png?rev=3373740","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/admin-maintenance-message\/assets\/screenshot-1.png?rev=3377014","caption":"Admin settings page"},{"src":"https:\/\/ps.w.org\/admin-maintenance-message\/assets\/screenshot-2.png?rev=3377014","caption":"Dashboard maintenance banner"},{"src":"https:\/\/ps.w.org\/admin-maintenance-message\/assets\/screenshot-3.png?rev=3377014","caption":"Frontend maintenance landing page (template mode)"}],"raw_content":"<!--section=description-->\n<p>A flexible admin &amp; frontend maintenance plugin for WordPress.<\/p>\n\n<p>Display a non-dismissible banner across the admin area to notify users of upcoming maintenance windows \u2014 and optionally replace the <strong>public site<\/strong> with a fully customizable maintenance page (WordPress page, custom HTML, or template file).<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Admin notice visible to all or selected roles<\/li>\n<li>Configurable date\/time window (<code>from<\/code>\/<code>to<\/code>)<\/li>\n<li>Free text with placeholders: <code>{DATE}<\/code>, <code>{FROM}<\/code>, <code>{TO}<\/code>, <code>{TZ}<\/code>, <code>{WEEKDAY}<\/code>, <code>{DATE_TO}<\/code>, <code>{WEEKDAY_TO}<\/code>, <code>{DATETIME_FROM}<\/code>, <code>{DATETIME_TO}<\/code><\/li>\n<li>Frontend maintenance mode:\n\n<ul>\n<li>WordPress page mode<\/li>\n<li>Custom HTML block<\/li>\n<li>Template file (in <code>\/assets\/maintenance\/templates\/<\/code>)<\/li>\n<\/ul><\/li>\n<li>Optional bypass for logged-in users<\/li>\n<li>Multisite-safe uninstall<\/li>\n<li>Fully translatable (<code>Text Domain: admin-maintance-msg<\/code>)<\/li>\n<\/ul>\n\n<p>Configure under <strong>Settings \u2192 Wartungshinweis<\/strong>.<\/p>\n\n\n\n<h3>Usage<\/h3>\n\n<h3>1. Aktivierung und Zugriff<\/h3>\n\n<p>Nach der Installation findest du den Men\u00fcpunkt unter:\n<strong>Einstellungen \u2192 Wartungshinweis<\/strong><\/p>\n\n<p>Hier kannst du das Verhalten des Plugins vollst\u00e4ndig steuern.<\/p>\n\n\n\n<h3>2. Admin-Warnleiste (Dashboard-Hinweis)<\/h3>\n\n<p>Diese Leiste wird oben im WordPress-Dashboard angezeigt, f\u00fcr alle oder ausgew\u00e4hlte Benutzerrollen.<\/p>\n\n<p><strong>Einstellungen:<\/strong>\n- <strong>Wartung aktiv (Checkbox):<\/strong> Zeigt den Hinweis sofort an, auch au\u00dferhalb eines Zeitfensters.\n- <strong>Von \/ Bis (Datum + Uhrzeit):<\/strong> Optionales Zeitfenster, innerhalb dessen der Hinweis automatisch aktiv ist.\n- <strong>Nachricht:<\/strong> Freitext oder Vorlage mit Platzhaltern:\n  - <code>{WEEKDAY}<\/code>, <code>{DATE}<\/code>, <code>{FROM}<\/code>, <code>{TO}<\/code>, <code>{TZ}<\/code>\n  - <code>{DATETIME_FROM}<\/code>, <code>{DATETIME_TO}<\/code>, <code>{WEEKDAY_TO}<\/code>, <code>{DATE_TO}<\/code>\n- <strong>Sichtbar f\u00fcr Rollen:<\/strong> Bestimme, welche Rollen die Nachricht sehen (z. B. nur Administratoren oder Redakteure).<\/p>\n\n<p>\ud83d\udca1 <em>Wenn kein Text eingegeben ist, erzeugt das Plugin automatisch eine Standardmeldung auf Basis des Zeitfensters.<\/em><\/p>\n\n\n\n<h3>3. Frontend-Wartungsmodus<\/h3>\n\n<p>Wenn aktiviert, ersetzt das Plugin deine \u00f6ffentliche Website w\u00e4hrend der Wartungszeit durch eine <strong>Maintenance Landingpage<\/strong>.<\/p>\n\n<p><strong>Einstellungen:<\/strong>\n- <strong>Frontend Maintenance aktiv:<\/strong> Schaltet den Modus ein.\n- <strong>Bypass f\u00fcr eingeloggte Nutzer:<\/strong> erlaubt angemeldeten Benutzern, die Seite weiterhin normal zu sehen.\n- <strong>Landingpage-Modus:<\/strong>\n  1. <strong>WordPress-Seite:<\/strong> Nutzt den Inhalt einer bestehenden Seite (Dropdown-Auswahl).\n  2. <strong>Custom HTML:<\/strong> Du kannst eine eigene HTML-Struktur direkt im Textfeld hinterlegen.\n  3. <strong>Template-Datei:<\/strong> W\u00e4hle eine HTML-Datei aus dem Plugin-Verzeichnis (<code>assets\/maintenance\/templates\/<\/code>).<\/p>\n\n<p>\ud83d\udca1 <em>Das Standard-Template <code>default.html<\/code> zeigt Titel, Nachricht und Zeitraum automatisch an.<\/em><\/p>\n\n\n\n<h3>4. Templates anpassen<\/h3>\n\n<p>Eigene Templates kannst du einfach erg\u00e4nzen:<\/p>\n\n<ol>\n<li>Erstelle im Verzeichnis <code>\/assets\/maintenance\/templates\/<\/code> eine Datei, z. B. <code>blue-theme.html<\/code>.<\/li>\n<li>Verwende Platzhalter f\u00fcr dynamische Inhalte:\n\n<ul>\n<li><code>{{TITLE}}<\/code>, <code>{{MESSAGE}}<\/code>, <code>{{SITE_NAME}}<\/code>, <code>{{WINDOW}}<\/code><\/li>\n<li><code>{{FROM}}<\/code>, <code>{{TO}}<\/code>, <code>{{DATE}}<\/code>, <code>{{DATE_TO}}<\/code>, <code>{{TZ}}<\/code><\/li>\n<\/ul><\/li>\n<li>F\u00fcge eigene CSS-Dateien unter <code>\/assets\/maintenance\/css\/<\/code> hinzu und binde sie im Template mit <code>&lt;link&gt;<\/code> ein.<\/li>\n<\/ol>\n\n\n\n<h3>5. Verhalten und Priorit\u00e4t<\/h3>\n\n<p>Das Plugin aktiviert die Frontend-Wartung, wenn:\n- \u201eFrontend Maintenance aktiv\u201c <strong>oder<\/strong>\n- ein g\u00fcltiges <strong>Von\/Bis-Zeitfenster<\/strong> aktiv ist.<\/p>\n\n<p>W\u00e4hrend dieser Zeit:\n- wird HTTP <strong>503 (Service Unavailable)<\/strong> gesendet,\n- ein <code>Retry-After<\/code> Header gesetzt,\n- und <code>noindex, nofollow<\/code> Meta-Tags ausgegeben (SEO-freundlich).<\/p>\n\n<p>Nach Ablauf oder Deaktivierung wird die normale Seite automatisch wieder angezeigt.<\/p>\n\n\n\n<h3>6. Deinstallation<\/h3>\n\n<p>Beim Entfernen \u00fcber \u201ePlugins \u2192 Deinstallieren\u201c:\n- werden alle Optionen (<code>ammsg_options<\/code>, alte <code>ck_admin_maintenance_opts<\/code>) gel\u00f6scht,\n- in Multisite-Umgebungen automatisch f\u00fcr alle Sites bereinigt.<\/p>\n\n\n\n<h3>7. Tipps &amp; Best Practices<\/h3>\n\n<ul>\n<li>Verwende <strong>UTC+X Zeitzonen<\/strong> bewusst \u2013 die Pluginzeiten richten sich nach der WordPress-Zeitzone.<\/li>\n<li>Wenn du Templates bearbeitest, achte auf <strong>UTF-8 ohne BOM<\/strong>.<\/li>\n<li>Du kannst \u00fcber Filter eigene Verhalten erg\u00e4nzen:\n\n<ul>\n<li><code>ammsg_uninstall_option_keys<\/code> \u2013 eigene Optionen l\u00f6schen<\/li>\n<li><code>ammsg_frontend_template_replacements<\/code> \u2013 Platzhalter erweitern<\/li>\n<\/ul><\/li>\n<\/ul>\n\n\n\n<h3>Support<\/h3>\n\n<p>Questions or ideas?<br \/>\n\u2192 Visit <a href=\"https:\/\/codekeks.de\">https:\/\/codekeks.de<\/a> or the <a href=\"https:\/\/wordpress.org\/support\/plugin\/admin-maintanance-message\/\">WordPress.org support forum<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder <code>admin-maintance-msg<\/code> to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin via <strong>Plugins \u2192 Installed Plugins<\/strong><\/li>\n<li>Open <strong>Settings \u2192 Wartungshinweis<\/strong><\/li>\n<li>Define your time window, message, and optional frontend page or template.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='can%20i%20use%20placeholders%20in%20my%20custom%20message%3F'><h3>Can I use placeholders in my custom message?<\/h3><\/dt>\n<dd><p>Yes: <code>{WEEKDAY}<\/code>, <code>{DATE}<\/code>, <code>{FROM}<\/code>, <code>{TO}<\/code>, <code>{TZ}<\/code>, <code>{DATETIME_FROM}<\/code>, <code>{DATETIME_TO}<\/code>, <code>{WEEKDAY_TO}<\/code>, <code>{DATE_TO}<\/code>.<\/p><\/dd>\n<dt id='how%20do%20i%20enable%20the%20frontend%20maintenance%20mode%3F'><h3>How do I enable the frontend maintenance mode?<\/h3><\/dt>\n<dd><p>Check \u201cFrontend Maintenance active\u201d and choose between:\n- \u201cWordPress page\u201d \u2192 select an existing page\n- \u201cCustom HTML\u201d \u2192 enter your own markup\n- \u201cTemplate file\u201d \u2192 choose a file from <code>assets\/maintenance\/templates\/<\/code><\/p><\/dd>\n<dt id='can%20i%20limit%20who%20sees%20the%20admin%20notice%3F'><h3>Can I limit who sees the admin notice?<\/h3><\/dt>\n<dd><p>Yes. Use the role selector to restrict the banner to specific user roles.<\/p><\/dd>\n<dt id='does%20it%20work%20with%20multisite%3F'><h3>Does it work with multisite?<\/h3><\/dt>\n<dd><p>Yes, it respects network activation and uninstalls cleanly.<\/p>\n\n<\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed a bad issue - sorry<\/li>\n<li>some small improvements<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>New: Admin Settings page redesigned with hero header and sidebar.<\/li>\n<li>Fix: Unified textdomain with WordPress.org slug.<\/li>\n<li>Polish: Default maintenance template improved.<\/li>\n<li>Fixed some smaller Bugs<\/li>\n<li>Some small improvements<\/li>\n<li>Tested up to: 6.8.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Major release \u2014 new Frontend Maintenance Mode with selectable templates and custom HTML.<\/li>\n<li>Role-based visibility for admin notice.<\/li>\n<li>Centralized defaults and cleaner architecture.<\/li>\n<li>Local asset loading (no CDN).<\/li>\n<li>Improved WPCS compliance, escaping, and sanitization.<\/li>\n<li>Ready for translation and WordPress.org standards.<\/li>\n<\/ul>\n\n<h4>0.1.5<\/h4>\n\n<ul>\n<li>Replaced inline <code>&lt;style&gt;<\/code> with proper <code>admin_enqueue_scripts<\/code> and assets\/admin.css.<\/li>\n<li>Adopted unique 5-char prefix <code>ammsg<\/code> for class and options; migration added.<\/li>\n<\/ul>\n\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>Fix: i18n string literal domains, numbered placeholders, translators comments, security escaping, tested up to 6.8.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Unified textdomain, fixed PHP 8.2 deprecations, added Settings link.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Time window rendering, placeholders, timezone handling.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Show a maintenance banner in WP-Admin and optionally a full frontend maintenance mode with custom templates or HTML pages.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/254257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=254257"}],"author":[{"embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/antman313"}],"wp:attachment":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=254257"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=254257"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=254257"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=254257"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=254257"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=254257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}