Steve Grunwell

Open-source contributor, speaker, and electronics tinkerer

Tag: WordPress

Announcing Revision Strike

I’m proud to announce my latest WordPress plugin: Revision Strike.

Unless post revisions are explicitly limited, WordPress will build up a hefty sum of revisions over time. While it’s great to have revision history for some recent content, the chances that old revisions will be necessary diminish the longer a post has been published. Revision Strike is designed to automatically remove these unneeded revisions on older, published posts.

Continue reading→

Sunsetting WP Password Generator

My WP Password Generator plugin was my first foray into WordPress plugin development. It started back in 2010, just over a month after I started at Fahlgren Mortine, when my friend Greg Laycock and I were working on a client’s WordPress site and decided that manually generating passwords was a total pain. I suggested “what if we have a ‘Generate Password’ button on the user edit screen?”, he agreed, and I spent that night writing a quick plugin that makes an Ajax call to a script that generated a password. After we submitted it to the WordPress.org repository, we watched the download counts climb (I remember how thrilled we were once we crossed 100, and it just continued to rise from there).

As time went on, feature requests rolled in through the plugin forums and GitHub, but we intentionally kept the features simple (it’s a password generator, not a whole user management suite, after all). It was eventually rewritten to better adhere to the WordPress coding standards and use the native WordPress wp_generate_password() function instead of my home-rolled solution (which was actually pretty similar). It was never the flashiest plugin, but it was a perfect learning experience for both WordPress plugin development and managing an open-source project.

Continue reading→

Quick Tip: Google Publisher Console

My Engineering Manager, Ivan Lopez, turned me on to the Google Publisher Console last week, which gives you a nice way to debug Google DFP ad placements.

It’s simple to use, simply ad ?google_force_console to a URL that’s using DFP and Google will automatically load a nice inspector to see what data is being used to generate the ads on a site.

Continue reading→

Watch me on WPRoundTable

Tonight, I was the guest on WPRoundTable #41, where we talked 10up, WordPress, Son of Clippy, version control, and more. Rich Robinkoff and I also teased (well, basically announced) the impostor syndrome panel we’re working on with Angela Bergmann and WP Tavern’s Jeff Chandler.

Continue reading→

Resolving PHPUnit issues on VIP Quickstart

I ran into this issue on my VIP Quickstart Vagrant box today while attempting to run PHPUnit:

Warning: require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 38

Continue reading→

WPRoundTable

At the end of this month I’ll be appearing on the WPRoundTable podcast to talk about WordPress, conference speaking, my job at 10up, and…well, whatever the panel throws at me.

Continue reading→

T-Pro Solutions

At first glance, T-Pro Solutions is a pretty typical marketing site: hero carousel, big banner images on each page, and a whole mess of calls-to-action. There's nothing wrong with a site like this, but they're not always the most exciting to build. T-Pro's site, however, has a little bit of magic under the hood that's worth sharing.

Continue reading→

Keeping WordPress Under [Version] Control at WordCamp Grand Rapids

Learn how to keep your WordPress sites under version control using a git workflow refined over dozens of sites. We’ll cover repository organization, what belongs (and, perhaps more importantly, what doesn’t belong), and how to make deploying updates and working with multiple environments as painless as possible.

Continue reading→

php[world] 2014

I’ll be giving two talks at the inaugural php[world] conference, organized by the php[architect] team this fall in Washington, D.C. I’m humbled to be speaking alongside a bunch of great developers, including WordPress Lead Developer Andrew Nacin and Taylor Otwell, the creator of Laravel.

Continue reading→

Quick Tip: Prevent OneAll from Creating New Users

I’m working on a site right now that uses the Social Login plugin by OneAll, which is the first time I’ve dealt with users logging into a WordPress account via social networks. The plugin works really well, but I ran into one major issue: new user accounts were being created when matches weren’t found.

This particular project is a BuddyPress site for a fraternity; brothers can log in to see private events, content, and the full roster but the general public can only see the public pages. There’s also a public roster page with basic information about each member (name, graduation year, major, etc.), but those are dynamically generated by listing all BuddyPress members (excluding my team’s accounts, of course). Out of the box, OneAll would create a new user account for anyone who tried to log in, resulting in my mug appearing in the roster right along all the registered fraternity members…yikes!

Continue reading→

Page 4 of 7

Be excellent to each other.