Join WooCommerce builders, founders, and agencies at Checkout Summit {Reloaded} on May 7-8, 2026 Search
Business Bloomer
  • Join the Club
  • WooCommerce Plugins
  • WooCommerce Blog
  • Log In
  • 0
  • Business Bloomer Club
  • WooCommerce Plugins
  • WooCommerce Tips
  • Log In
  • Search
  • Contact
  • Cart
WooCommerce Code Snippets Downloadable My Account

WooCommerce: Hide Columns @ My Account Downloads Table

Last Revised: Mar 2025

STAY UPDATED

Want to customize the WooCommerce “Downloads” table on the My Account page? By default, WooCommerce displays multiple columns (“Product”, “Downloads remaining”, “Expires”, “Download”), but you may want to remove some for a cleaner look or to focus on essential information.

Whether you’re simplifying the layout or tailoring the table to your store’s needs, a simple PHP snippet can help you hide unwanted columns effortlessly.

For example, on Business Bloomer I definitely don’t need the “Downloads remaining” column and the “Expires” one, because all my downloadable products – WooCommerce Mini Plugins – come with unlimited downloads and they never expires!

In this post, I’ll show you how to remove specific columns using a WooCommerce filter. Just add the snippet to your theme’s functions.php file or in a custom plugin, and you’re good to go!

You may want to hide the “Downloads remaining” column (or other columns) from the Downloads table, to make room for custom columns or clean up the view.

PHP Snippet: Remove Columns From Downloads Table @ WooCommerce My Account

First of all, it’s important that you know the “keys” of each table column. In this way, you can use the correct “key” in the snippet below to target the desired column.

You can find this function in WooCommerce core:

/**
 * Get My Account > Downloads columns.
 *
 * @since 2.6.0
 * @return array
 */
function wc_get_account_downloads_columns() {
	$columns = apply_filters(
		'woocommerce_account_downloads_columns',
		array(
			'download-product'   => __( 'Product', 'woocommerce' ),
			'download-remaining' => __( 'Downloads remaining', 'woocommerce' ),
			'download-expires'   => __( 'Expires', 'woocommerce' ),
			'download-file'      => __( 'Download', 'woocommerce' ),
			'download-actions'   => ' ',
		)
	);

	if ( ! has_filter( 'woocommerce_account_download_actions' ) ) {
		unset( $columns['download-actions'] );
	}

	return $columns;
}

Which means the correct keys are: ‘download-product’, ‘download-remaining’, ‘download-expires’, ‘download-file’, ‘download-actions’.

Now we can finally move to the snippet!

/**
 * @snippet       Remove columns @ My Account Downloads
 * @tutorial      https://businessbloomer.com/woocommerce-customization
 * @author        Rodolfo Melogli, Business Bloomer
 * @compatible    WooCommerce 9
 * @community     https://businessbloomer.com/club/
 */

add_filter( 'woocommerce_account_downloads_columns', 'bbloomer_hide_downloads_table_column' );
 
function bbloomer_hide_downloads_table_column( $columns ) {
	unset( $columns['download-remaining'] );
   unset( $columns['download-expires'] ); // REMOVE IF NOT NEEDED
   unset( $columns['another-key'] ); // ADD MORE AS NEEDED
   return $columns;
}

Where to add custom code?

You should place custom PHP in functions.php and custom CSS in style.css of your child theme: where to place WooCommerce customization?

This code still works, unless you report otherwise. To exclude conflicts, temporarily switch to the Storefront theme, disable all plugins except WooCommerce, and test the snippet again: WooCommerce troubleshooting 101

Related content

  • WooCommerce: Separate Login, Registration, My Account Pages
    There are times when you need to send logged out customers to a Login page and unregistered customers to a standalone Register page. As you…
  • WooCommerce: Add New Tab @ My Account Page
    One of the features of Business Bloomer Club is the provision of Premium WooCommerce Q&A Support to supporters who enroll. So, how to add an…
  • WooCommerce: How To Make A Website GDPR Compliant? (12 Steps)
    Ok, we all know that the EU General Data Protection Regulation (GDPR) will come into force on the 25th May 2018. So the main question…
  • WooCommerce Visual Hook Guide: My Account Pages
    Hey WooCustomizers, the Visual Hook Guide is back 🙂 In this episode, I’ve created a visual HTML hook guide for the WooCommerce Account Pages (there…
  • WooCommerce: Add First & Last Name to My Account Register Form
    Here’s yet another useful PHP snippet – and a mini-plugin alternative with super simple settings – that adds the Billing First Name and Billing Last…

Rodolfo Melogli

Business Bloomer Founder

Author, WooCommerce expert and WordCamp speaker, Rodolfo has worked as an independent WooCommerce freelancer since 2011. His goal is to help entrepreneurs and developers overcome their WooCommerce nightmares. Rodolfo loves travelling, chasing tennis & soccer balls and, of course, wood fired oven pizza. Follow @rmelogli

Questions? Feedback? Customization? Leave your comment now!
_____

If you are writing code, please wrap it like so: [php]code_here[/php]. Failure to complying with this, as well as going off topic or not using the English language will result in comment disapproval. You should expect a reply in about 2 weeks - this is a popular blog but I need to get paid work done first. Please consider joining the Business Bloomer Club to get quick WooCommerce support. Thank you!

Cancel reply

Your email address will not be published. Required fields are marked *


Let's Talk WooCommerce, In Person

I'm bringing together WooCommerce professionals who care about code, business, and connections. No hype, no sales pitches—just smart people meeting in person in Palermo, Italy, April 23–24, 2026.
Join Us at Checkout Summit 2026 → Checkout Summit 2026

Search WooCommerce Tips

Popular Searches: Visual Hook Guides - Checkout Page - Cart Page - Single Product Page - Add to Cart - Emails - Shipping - Prices - Hosting

Recent Articles

  • WooCommerce: Send Email When a Coupon Is Used
  • WooCommerce: Simple Price Including/Excluding Tax Switcher
  • WooCommerce: Refund Request Button @ My Account
  • WooCommerce: Show or Hide Bank Accounts Based On Order
  • WooCommerce: Save Order Currency Exchange Rate

Latest Comments

  1. Rodolfo Melogli on Are We Losing WooCommerce Merchants Because of WP Admin?
  2. Jonathan de Jong on Are We Losing WooCommerce Merchants Because of WP Admin?
  3. Lyle Harbour on Restrict WooCommerce Checkout Based on Product and Shipping Country

Find Out More

  • Become a WooCommerce Expert
  • Business Bloomer Club
  • WooCommerce Blog
  • WooCommerce Weekly
  • Contact

Contact Info

Ciao! I'm Rodolfo Melogli, an Italian Civil Engineer who has turned into an international WooCommerce expert. You can contact me here:

Twitter: @rmelogli

Get in touch: Contact Page

Business Bloomer © 2011-2026 - VAT IT02722220817 - Terms of Use - Privacy Policy

Cart reminder?

x