Category : Nerding

Bridging the Gap between PHP 5.3 and 8.2

This week I got finally got involved with maintaining the languishing TCPDF library on Github. Long overdue. Embarrassingly long overdue, since I’ve based one of my businesses on this open source gem for nearly ten years now. The author, Nicola Asuni, has been working for many years on a successor to TCPDF, but it is stalled… likely due to the usual reasons: life and cash. I can relate. I’ve been sitting on a huge WP plugin project for two years now, desperately trying to move it forward while life happens and I’m forced to prioritize support for my paying customers. A couple years ago an eager young programmer, William Desportes, hopped onto the TCPDF GitHub and made an incredible fork which would have really helped bring TCPDF into this decade. It needed massaging to work with PHP 8.0+ and he continue reading…

EDD Stripe v3.0 Sticks It To Ya

Easy Digital Downloads (EDD) seems to be going the route of Freemius, etc., where you can use their open source plugin(s), but not without significant overhead. Except Freemius isn’t open source. 🤷‍♀️ With only a small share of the WP users needing file management plugins using their plugin and not a competitor’s, it’s a surprising move. Stripe Gets Pricey If you’re not paying for their annual license, or let your license term lapse, and wish to take payments with Stripe, you’re going to pay Stripe fees, plus a 3% “application fee” which EDD funnels off your sale using Stripe Connect. This fee used to be 2% until v.3.0. Now it’s 3% — that’s significant! With version 3.0 of EDD Stripe, EDD moved their entire Stripe integration over to Stripe Connect, which means all the sales on your private site go continue reading…

Fix Easy Digital Downloads to Increase Sales

Over the years I’ve sure appreciated having Easy Digital Downloads (EDD) plugin to platform my plugin sales. It’s pretty cool, and handles most my needs including software licensing. However, I have had numerous little issues with the plugin. I apply each update with trepidation, because some changes (“upgrades”) have caused abrupt slumps in my sales. Of course the developers are well-meaning, and I’m sure these upgrades are in fact upgrades for certain people. But it’s becoming more and more clear that even though I’m a paying subscriber of EDD, their developers might not be “in touch” with the my reality or my customers’ realities. There are things a customer just. does. not. want. to. see. when. shopping. Case in Point With the latest updates to the Stripe payment gateway plugin, EDD moved to the new API and allows small text continue reading…

Set up a Weekly (weekend) autoresponder

Years ago I set up an autoresponder to let people know I’m probably not around on Saturday and Sunday. It’s still running, and flawlessly, so I thought I’d share how I set it up using cPanel cron and FTP/File Manager. I got this idea originally from David Heath-Whyte’s blog, but adjusted it a little bit. It might help you to see two examples if you want to set this up yourself and aren’t quite sure how. Sometimes having the same thing explained twice by two different people helps! Note: this advice only works for people with self-hosted email. Gmail, Hotmail, Yahoo! etc., look elsewhere. Also, you’ll need hosting with access to a cPanel. Step 1: Set up and compose your Autoresponder email Head over to your cPanel (“control panel”). Most hosting accounts will have a control panel of some sort, continue reading…

Prorated Software Upgrade Crack

It’s amazing how some customers’ behavior can highlight innovative ways of saving money. It never occurred to me until I started selling software, and managing annual software licenses, that there’s a pretty simple way to save money when trying to renew software licenses, without a coupon. Many businesses pro-rate license upgrades, and prorate them by date, such that the closer you come to expiration, the cheaper an upgrade gets. So a frugal move to make is to wait until just days before your software license expires, then upgrade to the next level up… for a tiny fraction of what it would cost to renew the lesser license currently held. VoilĂ  – we now have better access for another year, for cheaper than a straight renewal! While this is pretty cool for the customer, this is a big problem for software continue reading…

Ways to harden your WordPress website without using bulky plugins

You can add security plugins to your website, but if you don’t know exactly what they’re doing, not only can you silently break things, but you can slow down your site with a lot of extra code. They’re great, but it’s not like there isn’t risk in blindly activating any plugin. I develop plugins and try to predict how things can go wrong, so I know just how bewildering the number of things that can go wrong feels. When I can simplify things on my own sites, I always go that route. I recently decided to stop using a security plugin because I’ve implemented security measures of my own, and my server handles SSL redirection. I love the Really Simple SSL plugin but didn’t need it in this particular instance. Really Simple SSL had a couple nice features I decided continue reading…

The Most Common WordPress Mistakes People Make

For several years I’ve been scanning the support forums at WordPress.org and helping where I can. I’ve been using WordPress since it came out in 2003, and because it’s at least partly free and open-source, I like to contribute. Aside from the obvious — helping others — contributing helps me keep abreast of what’s new in WordPress and hones my skills. On top of occasionally answering questions in the general support forums, I also wrote and support two plugins in the wordpress.org plugin repository. I frequently see quite a bit of misunderstanding on a basic level about what WordPress is and what it can do, and I’d like to toss in my thoughts about that here. I hope I can help clear up a few reasons some people think “WordPress sucks.” WordPress is WordPress is WordPress Not true. WordPress has continue reading…

Send Easy Digital Downloads Transactions to Wave Apps without Zapier

I wrote a little WordPress plugin that connects Easy Digital Downloads (EDD) to Wave Apps bookkeeping using the Wave GraphQL API. If you are accepting Stripe payments using EDD’s Stripe extension or PayPal Payments using EDD’s PayPal Commerce Pro, this EDD extension will automatically move bookkeeping data into your Wave Apps transactions using Wave’s GraphQL API. It saves a ton of data-entry, and picks up where a free Zapier account leaves off. In the plugin settings panel, you start by entering your Wave “full access token.” Get a token by creating an application in the Wave Apps developer portal. Once saved, this token allows the plugin to query its associated businesses. Choose your business (most cases there will only be one), and click save again. Now you can map your payment accounts and your download products to those matching in continue reading…

How to get a Wordpress Media (attachment) ID

There are several ways to go about getting the attachment ID (of the ‘attachment’ Wordpress post type, stored in the wp_posts WPDB [Wordpress DataBase] table. Here are some of them: From the Media Library: Navigate to Dashboard -> Media. Here you will see your Wordpress uploads (Media), either in grid view or list view. They’re both fine, it’s just a preference thing. Instructions for both are below. List View If in List view, navigate to the item by scrolling or using the search bar at the top right. Then hover over the title of that file, like so: Grid View In grid view, it’s a little bit different. You’ve got to click on the media file. A popup window will open up. Take a look in your browser URL bar and you will see the attachment ID there, after where continue reading…

A Side Project

Things have gotten nuts for just about everyone lately, us included. Luckily the Little Package plugins are stable and they can sit tight for a bit. I can focus on customer support… and helping to run my partner’s business. He lost his longtime secretary to the task of Covid-19 era homeschooling, and I have stepped in to help while we see what this quarter brings. So, I’m very busy, very very busy. Luckily programming for the web lends itself well to streamlining a business, and we’ve been able to automate some bits. Last week I spent some hours over two days writing some code which replaces heaps of manual data entry for his business, practically replacing a full-time employee. At first I did this using Zapier. We found Zapier a couple months ago, and it’s pretty cool. I was playing continue reading…

An Easy Digital Download Software Licensing Server Attack

If you’ve purchased the Easy Digital Downloads Software Licensing add-on (min price $99/yr) and you have your eyes on API server traffic, you might have noticed that if your site runs CRON jobs as frequently as every minute, you are potentially getting hit by thousands of HTTP requests every hour (depending of course on how many license keys you’ve issued to customers). This can lead to DB errors and worse. That’s just not cool for the price. EDD provides some “free” example integration code to get users started. Great, but we really shouldn’t use any volunteered code without an audit. Here’s the code they’ve provided: /** * Initialize the updater. Hooked into `init` to work with the * wp_version_check cron job, which allows auto-updates. */ function edd_sl_sample_plugin_updater() { // To support auto-updates, this needs to run during the wp_version_check cron continue reading…

Little Package