Skip to content
WordPress.org

Papiamentu

  • Tema
  • Plugin
  • Tokante
  • Get WordPress
Get WordPress
WordPress.org

Plugin Directory

Show Orders Shortcode for WooCommerce

  • Submit a plugin
  • My favorites
  • Log in
  • Submit a plugin
  • My favorites
  • Log in

Show Orders Shortcode for WooCommerce

By con
Download
  • Details
  • Reviews
  • Installation
  • Development
Support

Description

Drop [show_wc_orders] into any page, post or widget area that renders shortcodes, and the logged-in customer sees their own orders: order number, date, status, total and a View button — the same table WooCommerce shows under My Account > Orders.

Usage:

[show_wc_orders] shows all of the customer's orders.
[show_wc_orders order_count=10] shows the 10 most recent orders — replace 10 with any number.

That is all. There are no settings.

Details:

  • Each visitor only ever sees their own orders. Logged-out visitors see nothing.
  • The table is rendered through WooCommerce’s own My Account orders template, so your theme’s styling — and any theme override or column filter you already use for My Account — applies to the shortcode too.
  • Works with both classic order storage and High-Performance Order Storage (HPOS).

Screenshots

The customer's orders on a regular page — same table as My Account > Orders.
The customer’s orders on a regular page — same table as My Account > Orders.
Limiting the output with order_count.
Limiting the output with order_count.
The shortcode in the block editor.
The shortcode in the block editor.

Installation

  1. Upload the plugin files to the /wp-content/plugins/wc-show-orders-shortcode directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Add [show_wc_orders] to any page or post.

FAQ

Which orders are shown?

The orders of the currently logged-in customer, newest first. Logged-out visitors see nothing — there is no way to view another customer’s orders through this shortcode.

The table was empty on my store — is that fixed?

Yes. Version 1.1.0 read orders from the legacy post storage, so on stores using High-Performance Order Storage (the WooCommerce default since 8.2) it rendered nothing. 1.2.0 queries orders through the storage-agnostic WooCommerce API and works on both storage modes.

Can I change the columns or styling?

The shortcode renders WooCommerce’s own myaccount/orders.php template. Anything that customises the My Account orders table — a theme override of that template, or the woocommerce_account_orders_columns filter — applies here as well.

Is there pagination?

No. The shortcode shows the order_count most recent orders (all orders by default). For a paginated order history, point customers at My Account > Orders.

Can I show a login prompt to logged-out visitors instead of nothing?

Not yet — the shortcode intentionally outputs nothing for guests. If you need this, ask in the support forum.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Show Orders Shortcode for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors
  • con

Translate “Show Orders Shortcode for WooCommerce” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.2.0

  • Fix: orders display again on stores using High-Performance Order Storage (HPOS, the WooCommerce default since 8.2). 1.1.0 queried the legacy post storage and rendered an empty page there.
  • Improvement: the shortcode now renders the same orders table as My Account > Orders (myaccount/orders.php) instead of a template deprecated since WooCommerce 2.6 — theme overrides and column filters for My Account now apply to the shortcode too.
  • Fix: no PHP fatal error when WooCommerce is deactivated while the shortcode is still in page content.
  • Hardening: pages are excluded from page caching whenever the table renders (the same DONOTCACHEPAGE protection WooCommerce applies to My Account) — this customer-specific output must never enter a shared page cache.
  • Hardening: refund records can never appear in the table; invalid order_count values fall back to showing all orders; woocommerce_my_account_my_orders_query filter callbacks can no longer break the shortcode’s count or crash the page.
  • The “Recent orders” heading and its woocommerce_my_account_my_orders_title filter are preserved from 1.1.0.
  • Note: the table markup now uses WooCommerce’s current classes (woocommerce-orders-table__cell-...). Custom CSS written against the old bare cell classes (.order-number etc.) may need updating.
  • Compatibility with High-Performance Order Storage declared; WooCommerce dependency declared via Requires Plugins.
  • Housekeeping: License and Text Domain headers, updated minimum versions (WordPress 6.5, PHP 7.4, WooCommerce 9.5).

1.1.0

Added control statement to check for logged in status.

1.0.0

Initial release.

Meta

  • Version 1.2.0
  • Last updated 1 week ago
  • Active installations 100+
  • WordPress version 6.5 or higher
  • Tested up to 7.0.2
  • PHP version 7.4 or higher
  • Language
    English (US)
  • Tags
    My accountorder historyordersshortcodewoocommerce
  • Advanced View

Ratings

No reviews have been submitted yet.

Your review

See all reviews

Contributors

  • con

Support

Got something to say? Need help?

View support forum

  • About
  • News
  • Hosting
  • Privacy
  • Showcase
  • Themes
  • Plugins
  • Patterns
  • Learn
  • Support
  • Developers
  • WordPress.tv ↗
  • Get Involved
  • Events
  • Donate ↗
  • Five for the Future
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Papiamentu

  • Visit our X (formerly Twitter) account
  • Visit our Bluesky account
  • Visit our Mastodon account
  • Visit our Threads account
  • Visit our Facebook page
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Visit our TikTok account
  • Visit our YouTube channel
  • Visit our Tumblr account
Kódigo ta poesia.
The WordPress® trademark is the intellectual property of the WordPress Foundation.