WordPress Hook Order

November 11th, 2022

I’ve made a site that shows actions and filters executed during different WordPress requests. Why? When I’m writing a plugin, I sometimes need to know not just what a hook does, but also when it runs in relation to other hooks. The official WordPress documentation has a list of common actions, but it’s out of […]

Continue Reading...

Plugin Compatibility Reporter

December 4th, 2012

Plugin Compatibility Reporter is a WordPress plugin that enables you report if the plugins that you’re using are working properly. It integrates with the compatibility reporting features of the official WordPress.org plugin directory, and lets you mark plugins as “working” or “broken” from within your WordPress dashboard. It also tracks how long each plugin has […]

Continue Reading...

Plugin Update Checker 1.2 Released

October 30th, 2012

After a long delay, a new version of my PluginUpdateChecker library is finally ready for release. Read on to find out what’s new, or go straight to the download page. For those of you not familiar with this library, here’s a short summary: You can use it to add automatic update support to any WordPress plugin. Especially […]

Continue Reading...

Top 100 WordPress Plugin Authors (Updated)

September 17th, 2012

I had some free time this weekend, so I built an automatically updated list of Top 100 WordPress plugin developers. The rankings are based on the number of times each developers’ plugins have been downloaded from the WordPress.org plugin directory. A short PHP script updates the list several times per day. Check it out. Bonus: Compare […]

Continue Reading...

tldextract.php – Extract TLD, Domain And Subdomains From URLs

August 28th, 2012

tldextract.php is a PHP library that accurately extracts the effective top-level domain name, registered domain and subdomains from a URL. For example, you can use it to get the domain name “google” from “http://www.google.com”, or the TLD “co.uk” from “http://www.bbc.co.uk/”. Example: Introduction Most people try to do this by splitting the domain name on ‘.’ […]

Continue Reading...

Finding Related WordPress Plugins

August 15th, 2012

A few days ago, I happened upon an interesting post on the ManageWP blog discussing ways to improve the WordPress plugin repository. One of the suggestions was to add a “related plugins” feature: Both Lester Chan, with over 7 million plugin downloads to his name, and Duane Storey, a co-founder of Brave New Code, suggested […]

Continue Reading...

Error Log Monitor

July 25th, 2012

Whether you’re using WordPress for development or simply as a blog or CMS, it is always a good idea to keep an eye on your PHP error log. As a developer, it helps you notice and fix errors in your code. As a normal user, it lets you discover plugin bugs, WordPress compatibility issues and […]

Continue Reading...

How To Create A Table Of Contents Shortcode

June 19th, 2012

It’s time for another WordPress plugin development tutorial 🙂 In this post, I will provide a step-by-step explanation of how to create a WordPress plugin that lets the user add an automatically generated table of contents (TOC) to their posts by using a simple shortcode. The completed plugin will support the following syntax: For example, […]

Continue Reading...

Redis Object Cache Plugin

May 24th, 2012

Redis Object Cache is a WordPress plugin that provides a persistent, Redis-based backend for the WordPress object cache. Use it if you want to speed up your site and prefer Redis to other key-value stores. Fair warning: If you’re not sure what Redis is and are just looking for ways to improve your site’s performance, you’ll […]

Continue Reading...

Celtic Knot Generator – A HTML5 Canvas Experiment

May 17th, 2012

I wanted to familiarize myself with the much-touted canvas element, so I used it to build an interactive celtic knot generator/editor. Give it a try. Launch the celtic knot generator. Note: Requires a fairly modern browser. Instructions When you first load up the knot generator, you will see a 10×10 grid filled with the default […]

Continue Reading...

Automatic Updates For Private And Commercial Themes

June 2nd, 2011

Update 2017-06-20: This library has been deprecated. Please use PUC instead. It’s more current and it supports both themes and plugins. This is a PHP library that lets you add automatic update notifications and single-click updates to any WordPress theme. It’s purpose is to be easy to integrate for developers and to provide a familiar […]

Continue Reading...

FindBroken Beta

March 7th, 2011

Here’s something I’ve been working on for the last month or so: FindBroken.com. It’s an automated link checker that periodically scans your site for broken links and alerts you by email if any are found. Basically, it’s like a hosted version of the Broken Link Checker plugin, only simpler and not WordPress-specific. The site is […]

Continue Reading...

Lazy-Load Avatars

January 31st, 2011

In my previous post, The Quest For Speed, I mentioned that lazy-loading avatars is a good way to improve your site performance: The overwhelming majority of visitors never leave a comment. Chances are, most don’t even scroll down to the comments section. So why waste their time and bandwidth by loading avatars that they’ll never […]

Continue Reading...

Tor AutoSwitcher – Switch Tor Identities Automatically

December 1st, 2010

Tor AutoSwitcher is a free utility that automatically switches Tor  to a new identity every 10 minutes. The time interval is configurable. In case you’re wondering what the hell “Tor“ is and why would anyone care about “switching” their identity, here’s a relevant quote from the Tor article Wikipedia: Tor is a system intended to […]

Continue Reading...

Game: Sling Prototype

November 15th, 2010

This is an experimental, physics-based game prototype that I wrote in two weeks. It didn’t come out quite the way I hoped it would, but it might still give you a couple minutes of fun. About The Game Objective Collect as many points as you can by destroying enemies. Detailed description You control a small […]

Continue Reading...

Yet Another Breakout Clone

October 4th, 2010

I’m not a game developer, but, as most programmers do, I’ve always had some interest in the field. The first game that I wrote back in gymnasium was a two-player version of Snake. Written from scratch in Turbo Pascal 7, it featured such innovative design decisions as a completely text- and number-less HUD (I couldn’t […]

Continue Reading...

Automatic Updates For Private And Commercial Plugins

September 2nd, 2010

Last updated on June 26, 2015. Since time immemorial, only plugins hosted in the official WordPress.org plugin directory have supported automatic updates. Now, I’ve written a PHP library that you can use to add automatic update capabilities to any plugin. Public, private and commercial plugins alike – all can now enjoy the benefits of automatic […]

Continue Reading...

micro-tweet – The Twitter Client That Fits In a Tweet

August 10th, 2010

micro-tweet is an ultra-minimalist Twitter client that fits in a tweet. It can only do two things – display your friends tweets (one at a time) and post new tweets. It’s written in Python and works entirely from the command line. Source Code The source code of micro-tweet is exactly 137 characters, which is short […]

Continue Reading...

Pure CSS Perversion

June 16th, 2010

Sometimes it seems that not a month goes by without another “Pure CSS Something” project. Most recently, it was the Pure CSS Twitter “Fail Whale” page that has been making the rounds on Twitter and social news sites for the last few days. Before that, we had the Opera logo made in CSS, and many, […]

Continue Reading...

Bookmarklet Combiner

June 2nd, 2010

I love bookmarklets. Over time, I have accumulated a sizable collection of bookmarklets ranging from development tools (yay for ReCSS!) to great little utilities like Readability. Chances are that some of you have, too. I also like to keep my browser window trim and slim, and a crowded bookmark bar is definitely not conducive to […]

Continue Reading...

Integrating WP.org Plugin Ratings Into The Dashboard

May 17th, 2010

The WordPress.org plugin directory has a neat rating system that lets users rate plugins both on overall quality and on compatibility with specific WP versions. However, its usefulness is stymied by poor integration with WordPress itself. To try to remedy that, I’ve created a plugin that lets you vote on plugins directly from your Dashboard. […]

Continue Reading...

Add A “Paste And Go” Hotkey To Google Chrome

March 19th, 2010

If you right-click the address bar in Google Chrome, you’ll get a pop-up menu that contains, among other things, a “Paste and go” option. This handy feature lets you paste a URL from the clipboard and navigate to it in one swift motion. However, Chrome doesn’t have a built-in keyboard shortcut for this feature. So […]

Continue Reading...

Google Suggest Keyword Generator

March 14th, 2010

As you might have noticed, the query suggestion feature of Google Search usually only comes up when someone wants to expose and make fun of all the silly things that people search for. Today, I’m going to show you how you that it can also be put to a more practical use – keyword discovery! […]

Continue Reading...

Add Fuzzy Timestamps To Your Blog

March 2nd, 2010

I recently stumbled upon a great jQuery plugin called “timeago” that lets you easily create fuzzy timestamps (e.g. “5 minutes ago”, “about 2 months ago”, etc). So I wrote a quickie WP plugin that you can use to add this neat feature to your blog. About Basically, with this plugin you can insert a little […]

Continue Reading...

Track Your AdSense Earnings On Your Desktop

February 16th, 2010

There are two things that I do every morning, right after turning on the computer. First, I read the latest strip of Schlock Mercenary. Then I check my Google AdSense earnings for the previous day. It’s the perfect mix of business and pleasure, and a great way to start a new day. But enough about […]

Continue Reading...

Making The Web More Readable For Everyone

January 18th, 2010

In a recent Reddit thread, one commenter made a casual remark : There needs to be a way to link to a page on Reddit and automatically apply Readability. That seemed like an excellent idea to me. In case you haven’t heard about it yet, Readability is a bookmarklet that can take an article or […]

Continue Reading...

How To Disable Google Realtime Search

December 14th, 2009

A week ago, Google introduced real-time search – a new feature that displays live updates from sites like Twitter and FriendFeed as part of the normal search results. Reactions were generally positive, but, as multiple users noted, there was one thing missing – an “off” button. You could pause the live updates, but not get […]

Continue Reading...

Deframe – Greasemonkey Script That Removes Frames & Toolbars

December 10th, 2009

Deframe is a Greasemonkey script that can remove frames and toolbars from (almost) any website. For example, it can remove the StumbleUpon toolbar that’s displayed on all su.pr links, get rid of the Ow.ly bar, bust the frames that some link sharing sites use on outgoing links, and so on. Deframe supports most frame-based websites […]

Continue Reading...

Auto-Highlight New Items With The Newslight UserScript

October 12th, 2009

Newslight is a Greasemonkey script that you can use to automatically highlight new posts, new blog comments, recent product listings or any other kind of new content that has been added to your favourite website(s) since you last visited. The way it works is simple : when you see a web page you’d like to […]

Continue Reading...

How To Make WordPress Check For Updates Immediately

October 1st, 2009

WordPress automatically checks for plugin, theme and core updates once every 12 hours. This is normally fine, but it can become annoying when you know there’s an important update or bugfix available yet it won’t show up in your Dashboard until the next time WP gets around to checking for it. Of course, you can […]

Continue Reading...