Steve Grunwell

Open-source contributor, speaker, and electronics tinkerer

Tag: WordPress

How did I not know about get_post_types_by_support()?

Every once in a while (well, more often then I’d care to admit, actually), WordPress core surprises me with a function that I had no idea existed. They often come in the form of utility functions, things written when developers decide “oh no, I have to write this piece of logic again?!”. Heck, there have even been talks on these hidden little bits of code that make the world a brighter place.

Today, that function is get_post_types_by_support().

Continue reading→

Two Talks @ php[world] 2016

Apparently it’s a two talk kind of year, as I’ve been accepted to speak at php[world] this November in Washington, D.C. with two new talks.

Continue reading→

A pack of elephants bathing and drinking at a watering hole

Review: Building Exceptional Sites with WordPress & Thesis

While I was in St. Louis for php[tek], php[architect] announced the release of their latest book, Building Exceptional Sites with WordPress and Thesis by Peter MacIntyre. php[architect]’s Editor-in-Chief, Oscar Merida, asked if I’d be willing to read through the new book and offer my thoughts, and I quickly accepted; not only have I been looking forward to meeting Peter in-person (he’s one of the organizers of Northeast PHP, where I’ll be speaking in early August), but the book’s forward was written by my close friend and mentor, Eric Mann.

Continue reading→

Cranes constructing a new building

WordPress Plugins: Procedural or OOP?

As you may be aware, I have a profile on PHP Mentoring and am currently working with a number of PHP developers looking to grow their skills and kick-start their careers. Last week, I received an interesting question through the site, and half-way into writing my response I realized it would make a useful blog post: when writing a WordPress plugin, should I be using procedural or object-oriented programming?

Continue reading→

Close-up of a Rivera guitar amplifier

Getting started with AMP for WordPress

Late last year, Google and other organizations rolled out the open-source Accelerated Mobile Pages (AMP) Project, with the goal of introducing lightweight, lightning-fast content for users on mobile devices. AMP is essentially a subset of HTML and scripts – optimized for caching and performance – designed to speed up the mobile web and to make content accessible to every user, regardless of connection speed or strength.

A few months ago, 10up President Jake Goldman published What Google’s Accelerated Mobile Pages (AMP) means for Consumers, Publishers, and the Future, a piece that has helped spark a lot of interest in Accelerated Mobile Pages among 10up’s clientele, a group lined with major publishers and news outlets. In the article, Goldman concludes that publishers “in a crowded or hotly contested news space, or seeing meaningful traffic to stories from Google, need to quickly prioritize AMP HTML.”

Continue reading→

Two Talks @ WordCamp NEO

Word came in last night that I’ve had two talks accepted for WordCamp NEO (Northeast Ohio, formerly North Canton): Accelerating the Mobile Web with AMP and Professional Development for Professional Developers.

Continue reading→

Track WordPress Site Searches with McAvoy

Another week, another new plugin, it seems. This time, I’m proud to announce that McAvoy is now available in the WordPress.org repository!

McAvoy was born out of a client need to get information about what visitors are searching for on their site. While there are enterprise-level packages to do this and it’s pretty easy to set up in something like Google Analytics, our client wanted a solution that would simply collect information about what people were searching for and make it visible within the WordPress Admin dashboard.

Continue reading→

Announcing WP404

I’ve been behind on announcing new projects, but I wanted to make sure I shared this one:WP404 is a framework for capturing additional information and details about WordPress 404 errors, packaged as a WordPress plugin.

The plugin was born out of a need to capture tricky, time-based 404s on a client site. I figured I could either throw something together quickly on the client’s dime or spend my lunchtime and evening building something the community could use. Guess who didn’t want a half-assed tool? ?

Continue reading→

Taking the Web Offline @ SunshinePHP 2016

The internet is an amazing tool for sharing information with users all over the world, but what happens when “online” isn’t a guarantee? This was the question posed after 10up built an web-based product catalog for one of the world’s leading water technology providers. With a sales team of hundreds, how could we be sure that the sales materials were always available to the sales team, regardless of internet connectivity?

This session is a case-study on taking a web application offline, synchronizing JSON data and assets while maintaining a consistent user experience. Attendees will gain insight on the unique challenges of taking an app offline, as well as the technologies available and strategies for keeping data intact and the user experience seamless.

Continue reading→

Announcing WP Enforcer

Anyone who’s had to do code reviews on a team before can tell you that inconsistent coding standards add a lot of unnecessary noise to the review process. Even minor things like trailing whitespace, spaces v. tabs, code indentation, and whitespace (or lack thereof) around function declarations can cause merge conflicts and increase the time it takes to do a good code review.

Fortunately, coding standards are pretty easy to check, and there are great tools like PHP_CodeSniffer that can scan your codebase for issues with coding standards. WordPress has a well-defined set of coding standards, and there’s even a collection of PHP_CodeSniffer standards for WordPress. With Composer and a little bit of configuration we can check our coding standards, catch common security issues (missing input sanitization, output escaping, etc.), and even validate that everything’s well-documented.

We have the tools to write standards-compliant code, so now we just have to configure them and make them run automatically. That’s where my latest project comes in: I’m happy to announce WP Enforcer is available for your projects!

Continue reading→

Page 3 of 7

Be excellent to each other.