{"id":301317,"date":"2026-05-31T21:16:49","date_gmt":"2026-05-31T21:16:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/advanced-dashboard-manager\/"},"modified":"2026-05-31T21:15:35","modified_gmt":"2026-05-31T21:15:35","slug":"adwman","status":"publish","type":"plugin","link":"https:\/\/ky.wordpress.org\/plugins\/adwman\/","author":16970244,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.4.2","stable_tag":"0.4.2","tested":"7.0","requires":"6.7","requires_php":"8.2","requires_plugins":null,"header_name":"ADWMAN: Advanced Dashboard Manager","header_author":"Miroslav Curcic","header_description":"Organize dashboard widgets into separate pages and load only what\u2019s needed.","assets_banners_color":"","last_updated":"2026-05-31 21:15:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/adwman","header_author_uri":"https:\/\/profiles.wordpress.org\/tekod","rating":0,"author_block_rating":0,"active_installs":0,"downloads":48,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description"],"tags":{"0.4.2":{"tag":"0.4.2","author":"tekod","date":"2026-05-31 21:15:35"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.4.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[262246],"plugin_tags":[83,434,1506,7132,241],"plugin_category":[43],"plugin_contributors":[169357],"plugin_business_model":[],"class_list":["post-301317","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-admin","plugin_tags-dashboard","plugin_tags-dynamic","plugin_tags-kanban","plugin_tags-widgets","plugin_category-customization","plugin_contributors-tekod","plugin_committers-tekod"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/adwman.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This plugin helps administrators bring order to overcrowded WordPress dashboards by grouping widgets into separate dashboard pages.\nEach user can have their own layout, with pages and widgets organized according to their needs.<\/p>\n\n<p>It is primarily intended for developers who need to build a large number of reports (tables, charts, etc.) for their\nclients-reports that are important for their business. While it is often useful to display previews of these reports on\nthe dashboard, rendering all of them at once can negatively impact performance.<\/p>\n\n<p>To address this, the plugin provides an abstract class that developers can extend and register according to the documentation.\nEach widget defines its own render function and can either render content immediately or load it asynchronously with\na built-in loader. This behavior is handled directly by the abstract class.<\/p>\n\n<p>From the user\u2019s perspective, this plugin solves a long-standing limitation of WordPress: administrators often need to visit\nmultiple pages to understand what\u2019s new, what requires immediate attention, what can wait, and what remains unfinished.\nWhile WordPress does provide some indicators (such as notification badges),\nthese are limited and do not cover many real-world use cases.<\/p>\n\n<p>For example, this plugin includes widgets that display WooCommerce orders on hold or products in draft status.\nThese help users quickly understand where they left off and what needs attention immediately after logging in.<\/p>\n\n<p>In practice, this allows administrators to organize their dashboard into meaningful sections such as\n\u201cWhat\u2019s New\u201d, \u201cTo Do\u201d, or \u201cSystem\u201d.\nUpon login, they can first see the most important reports (new orders, comments, etc.),\nthen move on to less critical items (such as content in progress), and finally review system-related information.<\/p>\n\n<p>Another key improvement is performance.\nBy default, hiding widgets via \u201cScreen Options\u201d only applies <code>display: none<\/code>, while the PHP code that generates their\ncontent still executes. Widgets hidden using this plugin are not executed at all.<\/p>\n\n<p>This grouping mechanism ensures that only visible widgets are processed, significantly improving overall page load time.<\/p>\n\n<p>=Quick Start=<\/p>\n\n<p>After activating the plugin, go to the Dashboard.\nYou will notice that existing widgets are removed and the dashboard title is replaced with a dropdown selector.<\/p>\n\n<p>Click the <strong>\u201cUnlock Dashboard\u201d<\/strong> button in the top menu.\nThis will reveal the <strong>\u201c+ New Widget\u201d<\/strong> button.\nClick it and select any available widget from the list to add it to the current dashboard page.\nYou can add as many widgets as you need in this way.<\/p>\n\n<p>To create additional dashboard pages, click on the dashboard title dropdown and select <strong>\u201c+ New Dashboard\u201d<\/strong>.\nEnter a name for the new page and confirm.\nYou can now organize widgets across multiple dashboard pages as needed.<\/p>\n\n<p>=Compatibility=<\/p>\n\n<p>There are many popular plugins that add additional widgets to the admin dashboard.\nMost of them are simply informational HTML, but some use nasty approaches to fetch content by triggering AJAX requests,\nwhich can cause compatibility issues with this plugin.<\/p>\n\n<p>Currently, compatibility has been confirmed with: WooCommerce, Wordfence, MonsterInsights, Yoast, WP Mail SMTP, and Elementor.\nWe are aware of issues with: AIOSEO.<\/p>\n\n<p>=Developers information=<\/p>\n\n<p>To create your own widget, refer to the included widgets as examples. All of them extend the base abstract class, and your custom widgets should do the same within your own namespace.<\/p>\n\n<p>Make sure that widget IDs are prefixed with your namespace.<\/p>\n\n<p>If your widget contains heavy logic, you can defer its execution by setting:<\/p>\n\n<pre><code>$deferred = true;\n<\/code><\/pre>\n\n<p>This will load the widget asynchronously. See the built-in <code>HostingInfo<\/code> class for a reference implementation.<\/p>\n\n<p>To register your widget, you can:<\/p>\n\n<ul>\n<li><p>Call:\n  \\Tekod\\ADWMAN\\Dashboard\\Widgets::registerWidget(...);<\/p><\/li>\n<li><p>Or use the filter:\n  tekod-adwman-custom-widgets<\/p><\/li>\n<\/ul>\n\n<p>Both methods expect the fully qualified class name.<\/p>\n\n<h3>Contact<\/h3>\n\n<p>Please, send bug reports and feature requests to <a href=\"mailto:office@tekod.com\">office@tekod.com<\/a><\/p>","raw_excerpt":"Split your dashboard widgets into dedicated pages, creating a cleaner, faster, and more organized admin experience.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/301317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=301317"}],"author":[{"embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tekod"}],"wp:attachment":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=301317"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=301317"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=301317"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=301317"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=301317"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=301317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}