Steve Grunwell

Open-source contributor, speaker, and electronics tinkerer

Tag: WordPress

A mail slot, just below a bold sign reading "Private"

Building a Quick, Private Family Blog with WordPress

At times, it’s helpful to be able to create a secure, private family blog for sharing updates with close friends and family without posting to more public social media channels.

There are any number of reasons you might do this: sharing updates about a new child, a new city, or — in our family’s case — a new adventure.

Continue reading→

A series of pipes and gauges along a wall

Travis CI for WordPress Plugins

If you’ve spent much time on GitHub, you’ve probably come across repositories with green badges that look like this: Build: Passing

A lot of repositories will have these badges/shields, as they indicate that the last run of the Continuous Integration (CI) pipeline for this repository “passed” (e.g. everything is working as expected).

Now, Continuous Integration can mean a lot of things: maybe the project has a wealth of well-written tests that are all passing, or the simply that coding standards are all up-to-par. No matter the coverage level, this green badge indicates to potential users of your code that it satisfies the quality checks you’ve put in place.

Better yet, once we have a Continuous Integration pipeline in place, we can make it a prerequisite for pull requests to be merged. If you’re tired of PRs that don’t respect your project’s coding standards, ignore PHP compatibility rules, or otherwise produce lots of overhead, automating the high-level testing can save you lots of time.

Continue reading→

A stylized, neon "Portland, Oregon" Old Town sign

Testing WordPress & Code Review @ Cascadia PHP 2019

Last year, I was fortunate enough to spend a week and a half on the West Coast, splitting time between Portland, OR and San Diego, CA for the first installments of two new community PHP conferences: Cascadia PHP and WavePHP.

Sadly, WavePHP isn’t happening this year, but I’m thrilled to announce I’ll be returning to Portland for Cascadia PHP 2019!

Continue reading→

The Ledyard Building in Grand Rapids, Michigan

Confidently Testing WordPress @ WordCamp Grand Rapids 2019

Grand Rapids is one of those towns I just can’t get enough of: hot on the heels of Beer City Code 2019, I’m excited to announce I’ll be returning to Grand Rapids for WordCamp Grand Rapids 2019!

I’ll be giving my Confidently Testing WordPress talk, which has been making the rounds this year (it’s almost as if people need a bit of help getting into testing 🤔)

Continue reading→

A gray squirrel eating a nut

Two Talks @ WordCamp Kent 2019

WordCamp Kent has grown to be one of my favorite, must-attend WordCamps, and they keep accepting me to speak. This year, I’m fortunate enough to again be giving two talks at WordCamp Kent 2019!

Continue reading→

A pile of LEGO bricks spread out across a hardwood floor

Understanding the functions.php file in WordPress

If you’re just getting started with WordPress, there’s likely a lot of new terminology being thrown at you. Beyond fundamentals like “themes” and “plugins”, you’re probably seeing “actions”, “filters”, and a ton of code snippets with instructions like “just add this snippet to your functions.php file.”

Let’s take a step back and look at WordPress’ functions.php file; what it is, where it lives, and how it works. Once we understand those points, we’ll learn how to add snippets to our WordPress sites without having them accidentally overwritten.

Continue reading→

Various woodworking tools hung on a woodshop wall

Lightning Talk at WordCamp Grand Rapids 2018

I’ve written in the past about my love for WordCamp Grand Rapids, and I’m excited to announce I’ll be returning this year for WordCamp Grand Rapids 2018 on Saturday, June 30! Even better, I’ll be joining two of my colleagues — Chris Lema and Andrew Norcross — as Liquid Web (apparently) takes over the conference!

The theme for WordCamp Grand Rapids 2018 is around tools and services (an area I’m particularly passionate about), so I’m especially excited. This year, I’ll also be giving my first-ever lightning talk, Up and Running with WP-CLI.

Continue reading→

A Crash-course in PHP Namespaces for WordPress Developers

Way back in 2009, PHP 5.3 was released to the world and with it brought support for PHP namespaces — a way of easily separating your code from other developers’ code, which has since become the de facto way of encapsulating functionality across the PHP ecosystem.

With namespaces, multiple packages could use the same class and function names without conflict, because each one would operate in their own PHP namespaces. Unfortunately, many PHP developers who focus on WordPress development may be in the dark on this extremely useful language feature.

Continue reading→

The WordPress TinyMCE editor, modified so the block formats read "put whatever you want in here"

Customizing the WordPress TinyMCE Block Formats

This morning, I was scrolling through Twitter as I tried to wake up (as I do most every morning), when I came across a tweet from the wonderful Carrie Dils asking how to customize the WordPress TinyMCE block formats.

“That’s funny,” I thought to myself, “I used to do those customizations on client sites all the time. In fact, some of those customizations are even in my (now-abandoned) WordPress Starter Theme repo on GitHub!

I was able to throw together a quick gist to demonstrate how to pull off a <code> block format, but doing so reminded me how much of a struggle it was to figure that all out to begin with. In the interest of helping everyone else configure TinyMCE, here’s a quick breakdown

Continue reading→

Page 1 of 7

Be excellent to each other.