Multilingual WordPress Multisite Network

WordPress is hugely popular, powering over 23% of the entire internet today. As you can imagine, a good portion of these websites are not in English. Over the past few years I’ve had the opportunity to work on more multilingual sites in WordPress. One thing I have learned is that WordPress Multisite is a perfect fit for a network of multilingual sites. Each site in the network can be configured for a different language, making the administration much easier.

One of the big challenges I’ve faced is the relationship between the content across the language sites in a network. Imagine having an About page on your English site and an About page on your German site. Wouldn’t it be awesome if WordPress knew that these two pages were related? Well, now you can with an awesome plugin called Multilingual Press.

I had a chance to sit down with Caspar Hübinger at WordCamp London for a demo and I was blown away. Multilingual Press lets you create relationships between sites in your Multisite network, set a main language for each site, and start writing. When editing a piece of content connected to multiple languages, you can edit all of the language content on the same edit screen, as shown in the screenshot below. The content will then be updated in the appropriate language site in the network.


If you work with WordPress in different languages you need to check out Multilingual Press. It’s a multilingual game changer!

Do You Want Professional WordPress Plugin Development Second Edition?

Recently I’ve been thinking about my book Professional WordPress Plugin Development, and whether there’s enough demand for a second edition.

Over the years I’ve received some amazing feedback from readers, many of whom have since released plugins on after reading the book. The book is an amazing resource for anyone creating custom plugins in WordPress, from beginners to experts alike. I use the book on an almost daily basis to refresh my memory on proper techniques, functions, and hooks to use when building plugins.

The original Professional WordPress Plugin Development was written for WordPress 3.1, which was released over 2 years ago. The book is still the highest rated WordPress development book on Amazon, with a solid 5-star rating.

I have two questions for you:

  • Do you want to see a second edition?
  • What would you like to see in a second edition?

I’d love to hear your thoughts in the comments below!

How To: Create a Network Only Plugin in WordPress

If you’ve ever created a custom plugin in WordPress, you should be familiar with the standard plugin header code. The information set in your plugin header is displayed under the Plugins admin menu in WordPress shown below:


There is a lesser known piece of information that can be defined in your plugin header that tells WordPress to only show your plugin on the WordPress Multisite Network Plugins page. This will hide your plugin from being displayed and activated at the site level in WordPress Multisite. To only allow your plugin to show at the Network Plugins level, simply add this one line to your plugin header code:

Network: true

Easy, right? Let’s look at an example comparing a standard plugin header with a network only plugin header.

Standard Plugin Header:

Plugin Name: My Awesome Plugin
Plugin URI:
Description: This is my extremely awesome WordPress plugin
Version: 1.0
Author: Brad Williams
Author URI:
License: GPLv2

Network Only Plugin Header:

Plugin Name: My Awesome Plugin
Plugin URI:
Description: This is my extremely awesome WordPress plugin
Version: 1.0
Author: Brad Williams
Author URI:
License: GPLv2
Network: True

Using this method you can be sure your WordPress plugin will only be network activated in Multisite.

How To: Add A Link to the WordPress Multisite Network Admin Sites List

The other day I was working on a plugin for a client when I needed to add a link to the WordPress Multisite Network Admin Sites list. This is the list of sites in your WordPress Multisite network. The links I am referring to are the action links that appear when you hover over a site in the list as shown below.

WordPress Multisite Network Sites ListTo add a link, or modify any of the existing action links, we’re going to use the manage_sites_action_links action filter in WordPress. This filter will allow us to modify the action links before they are displayed on the screen. This means you can add, or remove, any links you want.

Let’s look at the code:

add_filter( 'manage_sites_action_links', 'my_plugin_network_list_action', null, 2 );

function my_plugin_network_list_action( $actions, $blog_id ) {

    $actions = array_merge( $actions, array(
	'custom_link' => '<a href="'. network_admin_url( 'sites.php' ).'">My Custom Link</a>'

    return $actions;


First we call the manage_sites_action_links filter hook which executes our custom function my_plugin_network_list_action(). Our function accepts two parameters: The $actions array which contains all action links and the $blog_id which stores the site ID of the site we are hovering in the list.

To add a link we are going to use the PHP function array_merge() to merge our link into the array of existing links. In this example I added a link named “My Custom Link” which links to the Network Admin sites list. The final step is to return the $actions variable. Simple as that!

For more awesome WordPress plugin goodies check out my new book: Professional WordPress Plugin Development

Announcing! Custom WordPress Plugin Development

Updated 4/1/2016: has relaunched as a new source for premium WordPress plugins and products from WebDevStudios.

I’m really excited to announce my newest venture,! Pluginize is a new service specializing in developing custom plugins for WordPress. Pluginize also specializes in modifying existing WordPress plugins. This can help save development time which in turn saves you money! With prices starting at $100, Pluginize is easily affordable for any WP website. LogoAll plugins developed by Pluginize are released under the GPLv2 software license. Pluginize will also submit any plugin developed to the official Plugin Directory on We’ll even setup a support forum section dedicated to your plugin to handle any support requests that come in.

Pluginize uses our soon to be “Famous 3 Step Process” to make creating a custom plugin as easy as possible. The goal of Pluginize is to create high quality custom plugins for WordPress using an extremely painless process.

We follow the proper WordPress coding standards to verify your plugin is fully compatible with WordPress. We also put a focus on security and verify our custom plugins are as secure as possible. If you are looking for a high quality custom built plugin for WordPress, look no further than!

Custom Post Type UI Plugin for WordPress

A few days ago I released a new plugin for WordPress called Custom Post Type UI. This plugin allows you to easily create custom post types in WordPress without writing a single line of code!

Using custom post types is the future of WordPress and really opens the software up to be a full fledged Content Management System (CMS). For example if you are building a website for a car dealer you could create a post type for Cars. A business directory could have a post type for Businesses. A movie database could have a post type for Movies, Actors, and Directors. I think you get the idea. Post types are a very powerful feature in WordPress and my new plugin helps you take advantage of the power!

Below are some screenshots showing the plugin in action:

Easily create new custom post types

New custom post type is automatically added to your admin menu

Easily view and edit existing custom post types

This plugin is a little different than my other plugins because it is primary built for WordPress 3.0, which hasn’t been officially released yet. You can however install WordPress 3.0-alpha very easily using the WordPress Beta Tester plugin created by Peter Westwood.

All custom post types are saved as a single WordPress option in the database keeping this plugin very lightweight. A future version will include creating custom taxonomies for custom post types. I hope this plugin will be rolled into the Core WordPress software at some point, but until then the Custom Post Type UI does the trick!

WordPress Theme Showcase Plugin Example

Below is a test of my WordPress Theme Showcase plugin. Below are the three themes I have loaded in my wp-config/themes folder. Each theme thumbnail has a “Preview Theme” link that lets you view the theme on your site. Great way to show off your themes to the public!

Fully compatible with WordPress 2.7 and WordPress MU 2.7


WordPress Theme Showcase Plugin

By I’m excited to announced the release of my latest WordPress plugin, the WordPress Theme Showcase Plugin.

This plugin will display all themes located in wp-content/themes in a showcase gallery with theme screenshots and preview links. This is a great plugin for designers looking to showcase their work or anyone that wants an easy way to display and preview multiple themes.

Updated: I added screenshots at the bottom of this post

This plugin is based off of the WordPress Theme Preview plugin created by Ryan Boren.


  • Display a showcase of your themes
  • Theme screenshots are displayed with titles and descriptions
  • Easily preview all themes loaded in WordPress
  • Allow anyone to preview themes, not just administrators
  • Works with both WordPress 2.x and WordPress MU
  • New settings page allows you to pick what themes are displayed

Step 1.
Unzip the file and upload theme-showcase.php to your WordPress plugin folder.

Step 2.
Activate the plugin in your WordPress Admin section under the plugins menu

Step 3.
Insert this code:


Anywhere in your post or page and save. That’s it!

Download: WordPress Theme Showcase Plugin
Compatible up to: WordPress and WPMU 2.8.2

Please visit the Support Forum with any bugs, comments, feature requests, or hate mail!

Theme Showcase Screenshot 1

Theme Showcase Screenshot 2

Theme Showcase Settings Page

WordPress MU Aggregator Plugin

By I’m excited to announce the release of my first WordPress plugin, the WordPress MU Aggregator Plugin.

This plugin will display the most recent posts from all blogs in a WordPress MU network. The Aggregator only returns blogs updated in the last 30 days.

Created for WordPress MU 1.5.1


  • Supports permalinks, non-friendly links (querystrings), or a mixture of both
  • Pulls new posts directly from the database, not an RSS feed
  • Main WordPress MU install is not displayed in the list
  • Style-less to allow for easy implementation in any theme.
  • Easy to read comments for easy edits and styling
  • More features and sidebar widgets coming soon

Step 1.
Unzip the file and upload wordpressMU-aggregator.php to your WordPress plugin folder.

Step 2.
Active the plugin in your WordPress Admin section under the plugins menu

Step 3.
Insert this code:

<php wp_mu_aggregator(10); ?>

Anywhere in your theme. That’s it! Change the number to alter how many posts are returned.

Download: WordPress MU Aggregator Plugin v0.5

Please comment with any bugs, comments, feature requests, or hate mail!