Skip to content

GiveWP

Korea fixed in the donation plugin itself, not around it

Client
GiveWP
Year
2021
Services
Open Source, GiveWP, Korea
GiveWP cover artwork

Samaritan's Purse Korea was built on GiveWP — it has since moved off it. A donation form is a checkout with fewer excuses: the donor is giving money away and will not fight a form to do it. Korea for GiveWP handled what could be handled from outside the plugin. Three things could not be, so they went upstream instead.

Korea replaced its six-digit postcodes with five-digit ones in 2015. GiveWP was still checking for the old `123-456` shape, so a Korean donor typing the postcode printed on their own mail was told it was wrong. Korea also has no state or province in an address, but the locale table marked the field optional instead of hiding it, so every Korean donor saw a field with nothing to put in it. The third bug was a plain reversed condition: the required asterisk on the postcode label showed up when the field was optional, and disappeared when it was required.

A fourth fix was not merged, and it belongs in the record too. Exported CSVs carried no byte-order mark, so Excel opened Korean, Japanese and Chinese donor names as garbled text. The patch added one. GiveWP's maintainer had been burned by hard-coded byte-order marks before, and asked for an action hook instead so a site could opt out. That was the right call, but nobody went back to write it. It was closed for inactivity in September 2021.

Three merged patches is a small contribution. It also makes the whole point: the client was paying for a donation site, and the parts that were wrong for Korea were wrong in the plugin itself. Fixing them there helps everyone who installs it next.

GiveWP detail