Woocommerce Admin Customers listing didn’t display all items

This week started with a reported issue from my client that she said when looking for the customer report from Woocommerce Admin located at Woocommerce > Customers, she only sees some entries displayed, not the all items.

When checking for this page, the entries are all the same when I even change the page numbers or number of items per page. The console log keeps showing 500 error message: “You must supply an array of options.”. Dumping the parameters, it’s always empty for the $request parameters. It’s beginning seriously.

Comparing with the version on our dev site, this report page still working correctly without any errors. I’m thinking the issue is only for our live server which uses nginx. Recently, I often uses nginx for the server setup, so it may have some issues.

The main issue I often have with nginx is the wrong rewrite rules, so when doing some research, I found that WordPress has specific known issue when query parameters is not working here. Great!

My final nginx fixing this issue will be:

location / {
	# This is cool because no php is touched for static content.
	# include the "?$args" part so non-default permalinks doesn't break when using query string
	try_files $uri $uri/ /index.php$is_args$args;
}

#WP JSON issue
location /wp-json/ {
	 try_files $uri $uri/ /index.php$is_args$args;
}

That’s it 😳