WP Manifestindependent plugin directory
manifest / admin / design-cart-woo-dashboard

Design Cart Woo Dashboard

WooCommerce store dashboard that replaces the default WordPress admin home: 30-day sales, orders, buyers, charts, and shortcuts. By Paweł Nosko / Design Cart.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/designcart/design-cart-woo-dashboard/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Design Cart Woo Dashboard

Replace the default WordPress dashboard with a WooCommerce store cockpit: 30-day sales, orders, unique buyers, average cart value, navigation tiles, and charts.

GitHub About / short description

Paste into the repository About description field:

WooCommerce store dashboard that replaces the default WordPress admin home: 30-day sales, orders, buyers, charts, and shortcuts. By Paweł Nosko / Design Cart.



What it is

WordPress was built as a publishing CMS. WooCommerce adds a shop, but the first screen after login is still the blog dashboard: a draft, comments, WordPress news. Sales live under Analytics, orders, or reports — not on the home screen.

Design Cart Woo Dashboard changes that first screen. Users with the manage_woocommerce capability land on a store cockpit: four metric tiles, optional shortcuts to daily shop work, and optional 30-day charts with an accessible data table. Everyone else keeps the standard WordPress dashboard. Roles stay separate.

It does not replace WooCommerce Analytics. It does not invent a new reporting engine. It takes orders the shop already has and turns them into one operational home screen.

Full documentation (Polish): Profesjonalny kokpit sklepu WooCommerce zamiast domyślnego WordPress.

Author: Paweł Nosko · Company: Design Cart · License: GPL-2.0-or-later · Version: 1.0.0

The problem it solves

Dedicated commerce platforms greet you with the shop. OpenCart, PrestaShop, Magento, and Shopify show sales, orders, customers, and shortcuts on the first screen. WordPress does not: the CMS home stays a CMS home even after WooCommerce is installed.

Typical results:

  • the shop owner logs in and sees a post draft, not yesterday’s sales,
  • staff click through menus to reach orders and products,
  • WooCommerce Analytics is a separate, heavier React app — good for analysis, poor as “good morning, here is your store”,
  • WooCommerce widgets on the default dashboard disappear between drafts, updates, and news.

This plugin fills that gap. It is an operational cockpit, not a cohort / funnel suite: how the last 30 days look, and where to click next.

Features

  • Store cockpit under Dashboard → Store cockpit (Kokpit → Kokpit sklepu in the Polish admin UI)
  • Optional redirect: visiting a bare wp-admin/index.php sends WooCommerce managers to the store cockpit
  • Four tiles: sales (gross after refunds), orders, unique buyers (including guests), average cart value
  • Eight capability-aware shortcuts: products, orders (HPOS-aware), categories, customers, coupons, reports, shop settings, add product
  • Three Chart.js charts for the same 30 days (daily sales, order count, average cart) plus a collapsible daily table
  • Settings under WooCommerce → Dashboard settings (Ustawienia kokpitu): redirect, navigation tiles, charts, order statuses
  • Default statuses: Processing and Completed; you can include any WooCommerce status
  • HPOS compatibility declared; stats use wc_get_orders()
  • Local assets only — Chart.js 4.4.4 is bundled, no CDN, no telemetry
  • Admin UI uses the Design Cart DC Interface (hero + form card + tabs)

Honest limits

  • Does not replace WooCommerce Analytics (net revenue, funnels, period comparison stay there).
  • Does not count abandoned carts, sessions, or Google Analytics conversions.
  • Does not convert currencies; only the current store currency is included.
  • The period is always the last 30 calendar days, including today (today is an incomplete day).
  • Charts are admin-only — nothing is rendered on the storefront.

Requirements

  • WordPress 6.5+
  • PHP 7.4+
  • WooCommerce 7.1+ (must be active; uses OrderUtil / CRUD orders)
  • Tested up to WordPress 7.1
  • manage_woocommerce for users who should see the store cockpit

If WooCommerce is not active, the plugin does not boot and shows an admin notice.

Installation

  1. Download the ZIP from the Design Cart project page or from this GitHub repository.
  2. WordPress → Plugins → Add Plugin → Upload Plugin.
  3. Upload the ZIP. The root folder must be design-cart-woo-dashboard with design-cart-woo-dashboard.php inside.
  4. Activate Design Cart Woo Dashboard. WooCommerce must already be active.
  5. Open Dashboard → Store cockpit, or just open Dashboard — with default settings you are redirected there.
  6. Configure under WooCommerce → Dashboard settings.

Manual / FTP: copy design-cart-woo-dashboard/ into /wp-content/plugins/, then activate.

Nothing has to be filled in to see the first screen. By default the plugin replaces the WordPress dashboard, shows navigation tiles and charts, and counts Processing + Completed orders.

Admin: store cockpit

The admin UI is Polish. Labels below are English equivalents.

Screen: Dashboard → Store cockpit (wp-admin/index.php?page=design-cart-woo-dashboard). Requires manage_woocommerce.

Hero

Control What it does
Dashboard settings Opens the configuration screen.
Go to the store Opens the storefront homepage.

Overview tiles

Heading shows the 30-day date range and a badge with the last calculation time (refresh every 5 minutes).

Tile What it shows
Total sales Gross after refunds, in the store currency. Taxes and shipping included. A refund reduces sales on the order created day.
Orders Orders in the selected statuses, last 30 days, current store currency only.
Customers Unique buyers, including guests. Billing email first (case-insensitive), then account ID, then the order itself. This is not a count of registered accounts.
Average cart value Sales after refunds / order count. Zero orders → zero, no division by zero.

If nothing matches the statuses and currency, the tiles stay at zero and an empty-state notice is shown.

Manage the store — shortcuts

Shown when navigation tiles are enabled (default on). Each tile is hidden unless the user has the matching capability.

Tile Destination Capability
Products Product list edit_products
Orders HPOS order screen, or classic shop-order list edit_shop_orders
Categories Product category taxonomy manage_product_terms
Customers WooCommerce Analytics customers manage_woocommerce
Coupons Coupon list edit_shop_coupons
Reports WooCommerce Analytics overview view_woocommerce_reports
Shop settings WooCommerce settings manage_woocommerce
Add product New product form edit_products

Charts — last 30 days

Shown when charts are enabled (default on). Same days and statuses as the tiles.

  • Daily sales — bar chart
  • Orders — bar chart
  • Average cart value — line chart (empty days are zero)

A collapsible table under the charts lists day, orders, sales, and average cart (for copy/paste and for users who do not read canvas). Chart.js respects prefers-reduced-motion.

Admin: dashboard settings

Screen: WooCommerce → Dashboard settings (wp-admin/admin.php?page=dcwd-settings). Requires manage_woocommerce. Save uses a nonce. At least one order status is required; otherwise the previous settings are kept.

General (Ogólne)

Option Default What it does
Replace the default WordPress dashboard with the store cockpit On A bare wp-admin/index.php (no query args) redirects users with manage_woocommerce. Other dashboard URLs with parameters are left alone. Turning this off restores the WordPress home screen; the store cockpit stays in the menu.
Show navigation tiles On Shows or hides “Manage the store”.
Show charts and the 30-day data table On Shows or hides the charts and table. When off, Chart.js is not enqueued. Metric tiles stay.

Statistics (Statystyki)

The same status list feeds tiles and charts. Statuses come from wc_get_order_statuses(), including custom statuses added by other plugins.

Option Default What it does
Include orders with statuses Processing, Completed Include the status in the numbers. At least one must stay on. Fully refunded orders are out by default because Refunded is not selected. Turning on Pending or Cancelled adds them to sales as well — the plugin does not guess what “revenue” means for you.

How the numbers work

Topic Rule
Period 30 calendar days, including today. Today is incomplete.
Order date Created date in the WordPress timezone, not payment date or status-change date.
Currency Current store currency only. No FX conversion.
Sales total − total_refunded. A full refund zeroes that order’s sales contribution; the order still counts if its status is selected.
Refund day Refunds reduce sales on the order created day, not the refund day.
Buyers Hashed identity: email, then user ID, then order ID. The cache stores hashes and totals, not emails.
Source WooCommerce CRUD, 100 orders per page. Result cached 5 minutes. Cache key includes statuses and currency, so a settings change recalculates immediately.
Deactivate Restores the default WordPress dashboard. Option dcwd_settings stays in the database.

License

GPL-2.0-or-later. See the plugin header in design-cart-woo-dashboard.php. Chart.js 4.4.4 is MIT; the original notice is kept with the library, full license in assets/js/Chart.LICENSE.md.

Author: Paweł Nosko / Design Cart.

Project page: https://www.designcart.pl/laboratorium/365-profesjonalny-kokpit-sklepu-woocommerce-zamiast-domyslnego-wordpress.html