• Create Orders With Negative Totals In WooCommerce For Refunds

    When refunding partly or a whole order, according to Dutch tax laws, there has to be created a new invoice with a negative total. Recently I had a customer asking me if it is possible to handle refund invoicing this way. It is possible. What you’ll need to do is… Listen ⇢

    Create Orders With Negative Totals In WooCommerce For Refunds
  • Upload Files Larger Than Your Upload Limit in WordPress

    I had a customer the other day that was selling downloads of audio loops.  The downloadable files were quite large at around 2 GB each.  While they had a very generous max upload size from their host, the uploads were still failing sometimes. They had already spent a few days… Listen ⇢

    Upload Files Larger Than Your Upload Limit in WordPress
  • Welcome To The Chaos (Part 2 Of Happiness Engineer Hiring)

    After you’ve completed the initial interviews and projects it’s time for the trial which is aptly called chaos.  A few days before your trial begins you’ll be added to a Slack channel that’s just for your trial cohort, their buddies and the hiring team.  You’ll be able to start checking… Listen ⇢

    Welcome To The Chaos (Part 2 Of Happiness Engineer Hiring)
  • Applying To Be a Happiness Engineer (Part 1)

    Back in July of this year (2018) I knew I needed a change.  I had sold my original WordPress theme business at the end of 2016 and I had felt a bit unsettled ever since.  What I was doing wasn’t working.  It was time for a real change. One morning… Listen ⇢

    Applying To Be a Happiness Engineer (Part 1)
  • Hello World, It’s Me Bill

    Today I’m excited to kick off my new blog, Just a Bill.  For years I’ve been toying with the idea of writing not just about work, but about many of the things that occupy my attention at any moment.  Since I do think about work a lot, I’m sure it… Listen ⇢

    Hello World, It’s Me Bill
  • Use Localize Script For WP REST API Requests

    When developing a single page app with the WP REST API we often have different URLs where we pull data. Typically I’m developing locally with a .test domain and working with a separate demo site on my live server. On top of that since I’m releasing these apps as themes,… Listen ⇢

  • Enqueuing Scripts With Dynamic Hashes in WordPress

    While WordPress’ system of loading scripts and styles is a vast improvement over hard coding these files in the head and footer of a site, they struggle with modern web build systems like Webpack. These tools allow us to have development environments in our IDE’s that make coding so much… Listen ⇢

  • Handling Not Found Errors in the WordPress REST API

    One of the quirks of the WordPress REST API is how it handles not found errors. WordPress would love if every request made to the API used ID’s when referencing posts, categories, pages and so on. Why? Well because every item in WordPress has a unique ID so there’s no… Listen ⇢

    Handling Not Found Errors in the WordPress REST API
  • Angular 5 Router Animations Tied To Images Loading

    One of the hallmarks of a site that is a web app is nice, fluid animations. Angular 4+ has a solid animation system you can use, but sometimes animating between router views can be tricky. When I was developing Artisan I ran into issues animating router transitions that used the… Listen ⇢

Meet Bill

Hi, I’m Bill a code wrangler at Automattic focusing on payments. I’m part of the WooCommerce team focusing on our in-house payment systems.