A better approach is to use a free service like Mailtrap, and then add this to an mu-plugin on the testing site: Mailtrap gives you an online inbox for checking the emails: We use both Pay Pal Express and Stripe payment gateways on the site and routinely put through test orders, upgrades and renewals as part of any testing of new features to the site.Of course we don’t want them going through the live gateway so we have configured our Pay Pal Sandbox credentials and Stripe test keys in the Woo Commerce settings.Even a simple export using the plugin is handy as a starting point for a local install.We also use WP Offload S3 for offloading our media library to S3, which means all the images are served from Cloud Front even on our local site and we don’t need to worry about FTP’ing our directory or using the WP Migrate DB Pro Media Files addon to get the files locally.So it can be helpful to download the plugin zip of the version you have currently, unzip and .
Because we manage Woo Commerce with Composer and don’t store it in git, it’s harder to see an actual diff of the plugin files when updating.
We want to test the emails and check the content, but we don’t want them to actually be sent to the customers.
We’ve used a couple of approaches in the past, but the simplest is probably a local filter to hijack the email The downside to this approach is that emails are still getting sent using Mailgun, which is a waste of our monthly email limit just for local testing.
Each of our three environments need separate configuration (e.g.
database name and credentials), so we load the correct environment config in When testing aspects of Woo Commerce and our ecommerce processes, for example, license auto renewals, new orders are generated for customers and emails are sent.
As a starting point you might want to read up here first. We can create an Xml Document attribute on our element with the following code: $new Xml Name Element = $new Xml Employee. Create Element("name")); $new Xml Name Text Node = $new Xml Name Element. Create Text Node("Iain Brighton")); $new Xml Age Element = $new Xml Employee. Create Element("age")); $new Xml Age Text Node = $new Xml Age Element. Create Text Node("37")); $file Name = “employees.xml”; $xml Doc = [System. Xml Document](Get-Content $file Name); $new Xml Employee = $xml Doc.employees.