TL;DR: Version 3.8 fixes critical order import issues, improves shipment tracking compatibility, adds PHP 8+ support, and introduces VAT ID recording for EU merchants. If you’ve had orders failing to import, tracking not syncing to eBay, or errors on PHP 8+, this update solves those problems.


Spring is here, and we’ve been doing some serious housekeeping. Version 3.8 addresses issues that have been blocking real merchants from running their businesses smoothly. We’re talking about orders that won’t import, tracking that won’t sync, and compatibility problems with modern PHP versions.

Let us walk through the fixes and their real impact.

The Order Import Crisis

When Shipping Costs Break Everything

Imagine selling vintage audio equipment tubes worldwide. One morning in April, your entire order system grinds to a halt. New eBay orders simply stop appearing in WooCommerce. When you try to manually update orders, WordPress throws a critical error.

The culprit? eBay started returning empty shipping cost values for certain orders—something that should never happen but did. When WP-Lister tried to calculate shipping tax by dividing this empty string by the tax rate, PHP 8 said “absolutely not” and crashed the entire process.

This wasn’t just an inconvenience. Orders couldn’t be fulfilled if they couldn’t be seen. Every hour of downtime meant frustrated customers and lost sales during a busy season.

The fix: We added proper validation to check shipping values before doing any math. If the shipping cost is empty, null, or invalid, we now handle it gracefully instead of crashing. Orders started flowing again the same day.

The City That Was Too Long

One e-commerce merchant discovered a different order import problem. A specific order refused to import no matter what they tried. The error message was cryptic: “processing of value for field ShippingAddress_City failed.”

The customer’s shipping city name was longer than 30 characters. Our database column wasn’t big enough to hold it.

This is the kind of edge case that’s nearly impossible to predict. Most city names fit comfortably in 30 characters. But when you’re shipping internationally, you encounter places like “San Pedro de los Baños de Montemayor” or “Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch” (yes, that’s a real place in Wales).

The fix: We increased the column size to handle longer city names. The order imported successfully, and merchants can now ship to any city on Earth without worrying about database limitations.

The Shipment Tracking Puzzle

When Tracking Works… Sort Of

A UK-based merchant noticed something odd. Their Shipment Tracking plugin was recording tracking numbers perfectly for eBay orders. They could see them in WooCommerce. But the tracking information wasn’t making it back to eBay, where customers actually needed it.

The tracking number was there. The carrier was listed in the WP-Lister order details box. But the Shipment Tracking plugin’s own metadata box showed “Other” for the carrier instead of “Evri” or “DPD.”

After some investigation, we discovered the issue: WP-Lister was storing the carrier name in the tracking_provider field, but the Shipment Tracking plugin reads from custom_tracking_provider. It’s like putting mail in the wrong mailbox—technically stored, but nobody could find it.

The fix: We moved the provider value to the correct metadata field. Now the Shipment Tracking plugin sees the carrier properly, and eBay gets complete tracking updates.

The ShipStation Timing Problem

A repair manual retailer had a similar but different issue. They use ShipStation to manage all their fulfillment. ShipStation would successfully push tracking data to WooCommerce, but WP-Lister never picked it up to send to eBay or Amazon.

This started happening around late June 2024, which gave us a clue. The problem was timing. When an order status changed to “completed,” multiple things happened at once:

  1. ShipStation received the webhook
  2. ShipStation updated the WooCommerce order with tracking
  3. WP-Lister checked for tracking to send to eBay

These all happened in the same moment. The race condition meant WP-Lister often checked for tracking data before ShipStation had finished writing it.

The fix: We changed the priority of WP-Lister’s hook so it runs later in the process, giving ShipStation (and similar services) time to store their data first. The tracking information now flows smoothly from ShipStation → WooCommerce → eBay/Amazon.

PHP 8 Compatibility

The Type Error That Locked Everyone Out

A jewelry wholesaler couldn’t load their listings page. The error was immediate: “TypeError: Cannot access offset of type string on string.”

This is a classic PHP 8 migration issue. PHP 7 was permissive about treating strings as arrays. PHP 8 is not. If you try to access a string variable using array notation ($string[0]), PHP 8 throws a fatal error.

The problem was in the listings table code, where we were trying to access account data without first checking if it was actually an array.

The fix: We added proper type checking before array access operations throughout the codebase. If you’re on PHP 8 (which you should be—PHP 7 reached end of life), the plugin now works correctly.

Category Mapping Mystery

A model railway shop in Germany maintains thousands of products. After updating from version 3.7.6 to 3.7.7, the owner noticed the category mapping table disappeared for new products.

Their workflow relied on automatic category assignment based on WooCommerce categories. With automatic mapping broken, they’d have to manually assign eBay categories to hundreds of new products—a task that could take days.

The strange part? It worked fine on another shop still running 3.7.6. And if they manually selected a category first, the table would appear. But for new, unlisted products, it simply wouldn’t load.

The fix: We identified a regression in how the plugin loaded mapped categories for different product states. The logic that worked for published listings wasn’t handling new products correctly. We restored the original behavior, and the automated workflow is back in action.

The Lesser-Known Fixes

Price Errors with Out-of-Stock Variations

A Canadian outdoor equipment retailer discovered something interesting. When variable products went to zero stock, they’d show up as “changed” with a price error that prevented revision.

The root cause was actually a snippet they were using to force “Hide Out of Stock Items from Catalog” because of caching issues. This snippet interfered with how WP-Lister fetched variations. If WP-Lister couldn’t see a variation anymore, it tried to delete it on eBay—but wasn’t including the price field, which eBay requires even for deletions.

While their snippet was the trigger, we still needed to fix the underlying issue. Now when variations are deleted, we always include the StartPrice field as eBay requires.

The Little Things

We also fixed a bunch of smaller issues that add up to a better experience:

  • Template files are now checked for write permissions, not just existence
  • Translation warnings about “just in time” loading are gone
  • The “View on eBay” button no longer triggers add-to-cart JavaScript
  • Action Scheduler plays nicely with restrictive hosting environments
  • Various undefined variable warnings cleaned up

New Capabilities

VAT ID Recording for EU Merchants

If you sell to European customers, you know VAT compliance is critical. eBay now provides buyer VAT IDs in order data when available, and WP-Lister 3.8 captures and stores them automatically.

The VAT ID and type are saved as order metadata (_billing_vat_number and _billing_vat_type), making it easy to include in your accounting and tax reporting systems.

REST API: Item Specifics Support

For developers building automated catalog management tools, we’ve added support for updating product-level Item Specifics through the WP-Lister REST API. This enables:

  • Bulk updates to Item Specifics across your catalog
  • Integration with PIM systems
  • Automated compliance with eBay’s category requirements
  • Custom tools for managing product attributes

Search Listings by Description

A dropshipping merchant needed to bulk-assign eBay profiles based on supplier information hidden in product descriptions. The listings search only looked at SKU and title, not descriptions.

We added a new filter wple_listings_search_description that enables description search. It’s opt-in because searching descriptions can impact performance on larger stores, but for merchants who need it, it’s a powerful tool.

To enable it, add this to your theme’s functions.php:

add_filter( 'wple_listings_search_description', '__return_true' );

How to Update

Updating to version 3.8 is straightforward:

  1. Backup first: Always backup your database before major updates
  2. Update the plugin: Go to Dashboard → Updates → WP-Lister for eBay
  3. Test on staging: If you have a staging site, test there first
  4. Monitor logs: Check WP-Lister logs after updating to ensure everything runs smoothly

If you’re still on PHP 7.x, now is an excellent time to upgrade to PHP 8.1 or 8.2. PHP 7.4 reached end of life in November 2022 and no longer receives security updates.

What’s Next

Version 3.8 is a stability and compatibility release, but we’re already working on the next wave of improvements:

  • Enhanced error handling and diagnostics
  • Better performance for large catalogs
  • Expanded REST API capabilities
  • Improved compatibility with eBay’s latest API changes

We’re also paying close attention to your feedback. The issues fixed in 3.8 came directly from support tickets—real problems affecting real businesses. Keep the feedback coming, and we’ll keep making WP-Lister better.


Have questions about the update? Check our documentation at docs.wplab.com or reach out to our support team.

Found a bug? Please report it through our support portal with as much detail as possible. The more information you provide, the faster we can fix it.

Want to suggest a feature? We’re always listening. The best features come from merchants who know what they need to run their businesses better.

Happy selling!

The WP-Lab Team