The Ultimate Overview of the WordPress Block Editor (Gutenberg) for Developers in 2022
I’ve been loosely following the noise and #wpdrama surrounding Gutenberg for as long as it has been around and honestly for the most part I’ve had negative feelings around it…
PHP and cURL: How WordPress makes HTTP requests
cURL is the workhorse of the modern internet. As its tagline says, cURL is a utility piece of software used to ‘transfer data with urls‘. According to the cURL website,…
Vue vs React: Which is the Best JavaScript Framework in 2021?
React or Vue.js, which JavaScript framework should you choose? React powers WordPress’ new editor while Vue.js is a popular framework in the Laravel community. In this post we’ll go over…
How to Create Custom WordPress Editor Blocks in 2021
The WordPress block editor (previously titled Gutenberg) includes a new way to add content to your WordPress posts, pages and soon all content on your WordPress site. It marks WordPress’…
How Unicode Works: What Every Developer Needs to Know About Strings and 🦄
What is Unicode? Waaay back in 2003 Joel Spolsky wrote about Unicode and why every developer should understand what it is and why it’s important. I remember reading that article…
How We Use PhpStorm for WordPress Development
Many of the Delicious Brains team use PhpStorm, the PHP IDE from JetBrains, as their go-to code editor, development environment, and all-round PHP best friend. Some on the team swear…
Using JavaScript FileReader to Upload Large Files in Chunks and Avoid Server Limits
If you’ve spent any amount of time messing with PHP config files to get a file to upload, you know that uploading large files can be a real pain. You…
Set Up Visual Studio Code and xDebug as the Ultimate Editor for WordPress Development
If you keep up with the many text editors and developer tools available, you may have heard of Microsoft’s Visual Studio Code. VS Code is a free, open source code…
SQL Query Optimization for Faster WordPress Sites
You know that a fast site == happier users, improved ranking from Google, and increased conversions. Maybe you even think your WordPress site is as fast as it can be…
Inertia.js: Building Single-Page Apps the Old Way
Update: We’ve written a newer, more detailed tutorial on Inertia using Laravel Jetstream. I’ve been building Laravel apps for years now. From large, data-heavy apps like Mergebot (RIP 😢) and…
PHP Scoper: How to Avoid Namespace Issues in your Composer Dependencies
Composer. If you’ve worked with PHP for any period of time you’ve likely heard of or used Composer. We’ve written about it whole bunch on the blog before, and it’s…
Vue vs React: 2018 Edition
Just over a year ago I wrote a 🔥-y piece comparing Vue.js vs React. Today, the argument about these two JavaScript frameworks is as alive as ever, but over the…
The WordPress Developer’s Guide to ES2015 (ES6)
The WordPress developer community is currently abuzz with JavaScript talk, specifically around which JavaScript framework to use in WordPress core. Regardless of which framework is chosen, it’s clear that WordPress…
Refactoring JavaScript: How to Avoid Technical Debt While Working with Legacy Code
Do you have a legacy JavaScript codebase you’re avoiding refactoring? So does WordPress. If you’ve been paying attention to WordPress core lately, you may have noticed that there has been…
Hooks, Line, and Sinker: WordPress’ New WP_Hook Class
The hooks system is a central pillar of WordPress and with the 4.7 release a major overhaul of how it works was merged. The Trac ticket that initially raised an…
Creating a Custom addon for Local by Flywheel
Update: This post was originally written about Pressmatic before the app was purchased by Flywheel and had its name changed to “Local”. I have updated the post’s text and most…
How My JavaScript Almost Crashed Your Browser and How I Fixed It
About a week before we launched WP Migrate DB Pro 1.6, I had my heart broken by Ashley Rich in our slack channel. It went something like this: /——dramatization——/ @bradt:…