{"id":383846,"date":"2026-10-15T15:53:22","date_gmt":"2026-10-15T15:53:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/saasui\/"},"modified":"2026-10-15T15:52:44","modified_gmt":"2026-10-15T15:52:44","slug":"dashbread","status":"publish","type":"plugin","link":"https:\/\/kea.wordpress.org\/plugins\/dashbread\/","author":17424577,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1.3","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"Dashbread \u2013 Turn Your Site into a SaaS App","header_author":"Digital Bread, LLC","header_description":"Turn your WordPress site into a SaaS app. Members get an app-grade dashboard at \/app that your other plugins run inside; your public site keeps any theme.","assets_banners_color":"f8f1e5","last_updated":"2026-10-15 15:52:44","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/dashbread.com","header_author_uri":"https:\/\/digitalbread.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":42,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"digibread","date":"2026-10-15 15:52:44","revision":3748887}},"upgrade_notice":{"1.0.2":"<p>Fixes icons on the Hosted pages screen and in notifications.<\/p>","1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3748887,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3748887,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3748887,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3748887,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3748887,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3748887,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3748887,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3748887,"resolution":"3","location":"assets","locale":"","width":1280,"height":800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3748887,"resolution":"4","location":"assets","locale":"","width":1280,"height":800},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3748887,"resolution":"5","location":"assets","locale":"","width":1280,"height":800},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3748887,"resolution":"6","location":"assets","locale":"","width":1280,"height":800},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3748887,"resolution":"7","location":"assets","locale":"","width":1280,"height":800}},"screenshots":{"1":"The member app: a widget dashboard inside the app shell, with the sidebar, notifications bell and account menu.","2":"Any page or post shown inside the app, with its own sidebar link and icon.","3":"In-app notifications in the header panel.","4":"The member profile manager: photo, name, contact details, password, notifications, appearance and account.","5":"The sign-in screen that matches the app.","6":"Dashbread \u203a Hosted pages: choose which pages appear in the app, their icons, order and who can see them.","7":"Dashbread \u203a Settings: app route, name, logo, footer, color and light\/dark mode."}},"plugin_section":[],"plugin_tags":[3203,22338,434,1919,4538],"plugin_category":[58],"plugin_contributors":[285160],"plugin_business_model":[],"class_list":["post-383846","plugin","type-plugin","status-publish","hentry","plugin_tags-app","plugin_tags-client-area","plugin_tags-dashboard","plugin_tags-members","plugin_tags-portal","plugin_category-user-management","plugin_contributors-digibread","plugin_committers-digibread"],"banners":{"banner":"https:\/\/ps.w.org\/dashbread\/assets\/banner-772x250.png?rev=3748887","banner_2x":"https:\/\/ps.w.org\/dashbread\/assets\/banner-1544x500.png?rev=3748887","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/dashbread\/assets\/icon.svg?rev=3748887","icon":"https:\/\/ps.w.org\/dashbread\/assets\/icon.svg?rev=3748887","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dashbread\/assets\/screenshot-1.png?rev=3748887","caption":"The member app: a widget dashboard inside the app shell, with the sidebar, notifications bell and account menu."},{"src":"https:\/\/ps.w.org\/dashbread\/assets\/screenshot-2.png?rev=3748887","caption":"Any page or post shown inside the app, with its own sidebar link and icon."},{"src":"https:\/\/ps.w.org\/dashbread\/assets\/screenshot-3.png?rev=3748887","caption":"In-app notifications in the header panel."},{"src":"https:\/\/ps.w.org\/dashbread\/assets\/screenshot-4.png?rev=3748887","caption":"The member profile manager: photo, name, contact details, password, notifications, appearance and account."},{"src":"https:\/\/ps.w.org\/dashbread\/assets\/screenshot-5.png?rev=3748887","caption":"The sign-in screen that matches the app."},{"src":"https:\/\/ps.w.org\/dashbread\/assets\/screenshot-6.png?rev=3748887","caption":"Dashbread \u203a Hosted pages: choose which pages appear in the app, their icons, order and who can see them."},{"src":"https:\/\/ps.w.org\/dashbread\/assets\/screenshot-7.png?rev=3748887","caption":"Dashbread \u203a Settings: app route, name, logo, footer, color and light\/dark mode."}],"raw_content":"<!--section=description-->\n<p>Dashbread adds a logged-in app at <code>\/app<\/code> to any WordPress site. Your public site is untouched and keeps whatever theme it has. Signed-in members get something else: an app with its own sidebar, header, dashboard, notifications and pages, where every page or plugin you put inside it looks like part of one product instead of a stack of WordPress screens. Members never have to see wp-admin.<\/p>\n\n<p>Everything in this plugin is fully functional, with no usage caps and no expiry.<\/p>\n\n<p>Dashbread is made and maintained by Digital Bread, LLC (<a href=\"https:\/\/digitalbread.com\">digitalbread.com<\/a>). Docs and Dashbread Pro: <a href=\"https:\/\/dashbread.com\">dashbread.com<\/a>.<\/p>\n\n<h4>What you get<\/h4>\n\n<ul>\n<li><strong>The app at \/app<\/strong> \u2013 a responsive app shell (sidebar, header, breadcrumbs, light\/dark mode) at a route you choose, with a conflict check.<\/li>\n<li><strong>Hosted pages<\/strong> \u2013 tick \"Show in Dashbread app\" on any page or post and it opens inside the app, with a menu link, an icon and optional role visibility. Shortcodes from your other plugins (forms, courses, shops, support desks) work there as usual.<\/li>\n<li><strong>Menus<\/strong> \u2013 an app sidebar, header and account menu under Appearance \u203a Menus, with icons and per-role visibility per item.<\/li>\n<li><strong>Dashboard<\/strong> \u2013 a real WordPress widget area. Use any widget; members can hide or collapse the ones they don't need.<\/li>\n<li><strong>Notifications<\/strong> \u2013 an in-app bell and a full notifications page, with built-in notices and an API (<code>dashbread_notify()<\/code>) for other plugins.<\/li>\n<li><strong>Profile<\/strong> \u2013 profile, avatar, email change with confirmation, password, notification preferences, appearance and account deletion requests.<\/li>\n<li><strong>Sign-in screens<\/strong> \u2013 login, registration and password reset screens that match the app, with optional redirects away from wp-login.php and wp-admin for members.<\/li>\n<li><strong>Shortcodes<\/strong> \u2013 <code>[dashbread_app_link]<\/code>, <code>[dashbread_login]<\/code>, <code>[dashbread_logged_in]<\/code>, <code>[dashbread_logged_out]<\/code>, <code>[dashbread_role]<\/code>, <code>[dashbread_show]<\/code>, <code>[dashbread_protect]<\/code>, <code>[dashbread_expire]<\/code> and <code>[dashbread_user]<\/code> for your public pages.<\/li>\n<li><strong>Admin<\/strong> \u2013 a single Dashbread menu with Dashboard, Settings, Hosted pages, Notifications, Pro &amp; Add-ons and Help screens.<\/li>\n<\/ul>\n\n<h4>Dashbread Pro (optional)<\/h4>\n\n<p>A separately sold Dashbread Pro adds staff tools such as members and companies screens, plans and memberships, messaging, email delivery, a drag-and-drop dashboard, a field builder and a customizer, plus optional add-ons. Dashbread works on its own without it.<\/p>\n\n<h4>Source code<\/h4>\n\n<p>The admin screens and app scripts ship built in <code>assets\/build\/<\/code>. Their readable source is included in the plugin under <code>app\/<\/code> and is built with esbuild (<code>npm run build<\/code> in the project repository).<\/p>\n\n<h3>External services<\/h3>\n\n<p>Dashbread does not connect to any external service. It makes no outbound requests, sends no data about your site or your members anywhere, and loads no files from other sites. (Member photos fall back to WordPress's own avatars, which come from Gravatar if avatars are on under Settings \u203a Discussion; that is WordPress behavior, not Dashbread's.)<\/p>\n\n<ul>\n<li>The plans and add-ons on <strong>Dashbread \u203a Pro &amp; Add-ons<\/strong> and the guides on <strong>Dashbread \u203a Help<\/strong> ship inside the plugin (<code>assets\/data\/<\/code>). They are updated with each release.<\/li>\n<li>Links to dashbread.com and to the WordPress.org support forum on those screens open only when an administrator clicks them, like any other link.<\/li>\n<li>Dashbread Pro, a separate plugin sold on dashbread.com and not part of this plugin, connects to dashbread.com for license checks, updates, live prices and guides, and support messages sent from the Help screen. Its own readme describes what it sends. Nothing in this plugin does so, with or without Pro installed.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Dashbread from Plugins \u203a Add New, or upload the <code>dashbread<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Visit <code>\/app<\/code> while signed in. That's the member app; your public pages don't change.<\/li>\n<li>Put content in it: tick <strong>Show in Dashbread app<\/strong> on a page, add widgets to the <strong>Dashbread Dashboard<\/strong> widget area, and shape the sidebar under Appearance \u203a Menus.<\/li>\n<li>Brand it under <strong>Dashbread \u203a Settings<\/strong>: name, logo, primary color, preset, light or dark.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20dashbread%20change%20my%20theme%20or%20public%20pages%3F\"><h3>Does Dashbread change my theme or public pages?<\/h3><\/dt>\n<dd><p>No. The app lives at its own route (<code>\/app<\/code> by default). Everything else on your site keeps your theme.<\/p><\/dd>\n<dt id=\"will%20my%20other%20plugins%20work%20inside%20the%20app%3F\"><h3>Will my other plugins work inside the app?<\/h3><\/dt>\n<dd><p>Any page or post can be shown in the app. If a plugin works through a shortcode or block on a page, it works in the app too.<\/p><\/dd>\n<dt id=\"can%20members%20still%20reach%20wp-admin%3F\"><h3>Can members still reach wp-admin?<\/h3><\/dt>\n<dd><p>By default, members without editing rights are sent to the app instead of wp-admin and don't see the admin bar. Each of these is a switch under Dashbread \u203a Settings.<\/p><\/dd>\n<dt id=\"can%20i%20change%20%2Fapp%20to%20something%20else%3F\"><h3>Can I change \/app to something else?<\/h3><\/dt>\n<dd><p>Yes, under Dashbread \u203a Settings. Dashbread checks the new address doesn't clash with an existing page.<\/p><\/dd>\n<dt id=\"does%20dashbread%20add%20a%20credit%20link%20to%20my%20site%3F\"><h3>Does Dashbread add a credit link to my site?<\/h3><\/dt>\n<dd><p>Only if you ask it to. \"Powered by Dashbread\" in the app footer is off unless you turn it on under Dashbread \u203a Settings.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>Deleting Dashbread from the Plugins screen removes its settings, its notifications table, and the user and page meta it added. Your pages, menus and users stay.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix: the icon preview on Dashbread \u203a Hosted pages shows every icon the picker offers, not just a short built-in list.<\/li>\n<li>Fix: notifications show the icon they were sent with (any icon in the set), instead of falling back to a bell.<\/li>\n<li>Readme: screenshot captions match the screens.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>New name: Dashbread (slug, text domain, settings, hooks and REST namespace).<\/li>\n<li>Security hardening: every form handler verifies its own nonce; the sign-in, registration and lost-password forms carry nonces; profile custom fields are sanitized as they are read; HTML built by the app's helpers is escaped with wp_kses() where it is printed.<\/li>\n<li>Admin notices appear only on Dashbread's own screens and can be dismissed; the Pro notes on the member profile page are gone.<\/li>\n<li>Translations: role names, numbers and dates follow the site language; the account-deletion email is translatable.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>The app shell at a route you choose, with hosted pages, app menus with icons and role visibility, a widget dashboard members can tidy, and light\/dark mode.<\/li>\n<li>In-app notifications with a bell, a full page and a developer API.<\/li>\n<li>Profile manager: avatar, email change with confirmation, password, notification preferences, appearance and account deletion requests.<\/li>\n<li>Matching sign-in, registration and password screens, with optional redirects away from wp-login.php and wp-admin for members.<\/li>\n<li>Shortcodes for app links and logged-in\/logged-out content.<\/li>\n<li>Admin screens: Dashboard, Settings, Hosted pages, Notifications, Pro &amp; Add-ons, Help. The add-on catalog and the Help guides ship with the plugin; Dashbread makes no outbound requests.<\/li>\n<li>\"Powered by Dashbread\" in the app footer is opt-in (off by default).<\/li>\n<li>Uninstall removes Dashbread's own settings and data.<\/li>\n<\/ul>","raw_excerpt":"Turn your WordPress site into a SaaS app. Members get an app-grade dashboard that your other plugins run inside; your public site keeps any theme.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/383846","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=383846"}],"author":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/digibread"}],"wp:attachment":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=383846"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=383846"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=383846"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=383846"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=383846"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=383846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}