This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Multisite Directory

Description

Multisite Directory provides a customizable Network-wide site directory for WordPress Multisite installations. You can categorize subsites in your Network, add full-length descriptions and featured images to them, and more. Theme developers can customize the look and feel of the site directory using all the tools they’re already familiar with. Blog authors can use a highly-configurable shortcode ([site-directory]) to display the directory anywhere shortcodes are supported.

Each time a new site or blog is added to your Network, a corresponding entry in the site directory is added, too. The directory is managed from the Network’s main site, but most changes to the subsites (other blogs) automatically update the directory. Many parts of a given site’s appearance in the directory can be modified without affecting the site itself. This means a Super Admin can use a custom site logo, tagline, and so on in the directory itself, without changing the site’s actual logo, tagline, and so on. Additional options in the Network Settings → Network Directory section allows Super Admins to tweak the bells and whisltes, such as keeping Directory Entry titles in sync with Site Name changes.

Site directory entries are implemented as a hierarchical custom post type in the main site. These pages can be categorized with a custom subsite_category taxonomy. We’ve found that this combination allows maximum flexibility while providing the tightest integration with existing WordPress core features. As a result, no new tables are added to your install, and no side effects are introduced. It Just Works.(TM)

Quickstart guide

After installing the plugin, you’ll want to:

  1. As a Super Admin, go to My Sites → Network Admin → Sites. Notice the new “Categories” link on the sidebar.
  2. Create some categories! If the category relates to a location (maybe it’s a site for a regional chapter of your organization?), be sure to click the map to geotag it.
  3. Click on “Directory,” immediately above “Categories.” These pages are the individual directory entries, not the blogs. Categorize these pages as you would regular WordPress Pages to organize your Site Directory.
  4. Go to any site’s Appearance → Widgets screen, and add a “Network Directory Widget” to a widget area.
  5. If you’ve geotagged some of your Site Categories, choose “Display as map” from the widget options. (Otherwise, leave it on “Display as list.”)
  6. Click Save, view your blog, and enjoy your new Site Directory!

Check out the Screenshots for a few examples.
This plugin provides a number of functions to Theme authors so that they can make use of the Multisite Network Directory features in their themes. This section documents those functions. For implementation details, see this plugin’s includes/functions.php file.

get_site_directory_terms

Gets all categories in the site directory.

  • @return array|false|WP_Error

Get site terms

Gets the categories assigned to a given blog in the network directory.

  • @param int $blog_id
  • @return array|false|WP_Error

the_site_directory_logo

Prints the site’s custom logo or the site directory entry’s featured image, if it has one.

  • @param int $blog_id Optional. The ID of the site whose logo to get. Default is the current directory entry’s site’s logo.
  • @param string|int[] $size
  • @param string|string[] $attr
  • @return void

Screenshots

  • Multisite Directory adds a “Categories” entry to your Sites menu so you can organize your sites using the familiar Category interface.

  • Site categories include geotagging capabilities out-of-the-box, so you can easily group your sites by geographic region.

  • The plugin includes a Network Directory Widget as well as a shortcode ([site-directory]) that make it easy to publish a simple Multisite Network Directory in a post, page, or widget area.

  • When users create new sites, they can categorize their blog under the scheme you created. Once their site is created, however, the Super Admin can always re-categorize the new site at will.

Installation

Multisite Directory is for WordPress Multisite installations only. Do not use this plugin for single-site installs.

To manually install Multisite Directory:

  1. Upload the unzipped multisite-directory.zip file to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Customize your site directory in the main site’s Dashboard.

FAQ

Installation Instructions

Multisite Directory is for WordPress Multisite installations only. Do not use this plugin for single-site installs.

To manually install Multisite Directory:

  1. Upload the unzipped multisite-directory.zip file to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Customize your site directory in the main site’s Dashboard.
How do I customize the directory?

Edit your theme’s templates! 🙂 This plugin makes no assumptions about the look-and-feel of your directory so that any theme that wants to can customize it. You only need to customize your theme if you want to change the default appearance.

As a Theme author, you will probably want to create at least two new files:

  • archive-network_directory.php
  • taxonomy-subsite_category.php

The archive-* page is the main directory page. It will list all the sites in your multisite network. The taxonomy-*.php page will list a subset of the sites in your network based on their categorization. You can customize these files as you would any other theme file.

If you do not create these files, then the default WordPress template hierarchy will take over, meaning that either the archive.php or index.php template file in your main site’s currently active theme will be used to display the network directory itself and one of taxonomy.php or index.php will be used to display a filtered view of your directory’s categories.

How do I customize the map’s popups?

By default, when you click on a pin in the directory’s map view, you’ll see a list of links to the categorized subsites in your network, along with their site logo (if they have one). Most themes do not come with custom styles for map popups, so to customize their look and feel to match your site, you will need to write CSS to define a presentation for the lists yourself.

Reviews

Ogwekkuminebiri (Ntenvu) 21, 2020 1 reply
No subsites show up in the list – You can add a featured image that shows up when you click on “view” in the directories But thats it, nothing gets listed at all nor can you sort or do any other thing
Mugulansigo 19, 2018 3 replies
Sorry I want to give this higher, but there is no documentation to help people out.
Ogwomwenda (Mutunda) 3, 2016 3 replies
I finally fully implemented the plugin. Incredible results. I had to stop my work to write this review. This is a great way to get your sites visable – not just a list of links in a menu, but a list with descriptions, then a preview page with a link. That entire structure its generated by the plug-in, with your content. You simply add the sections via the standard menu interface. The plugin concept and execution are great! The results professional and integrate with any theme seamlessly. All done with minimal effort for the user. I must admit, I haven’t used any shortcodes yet. Thank you for your hard work and for sharing this stellar plug-in. I will be donating. All 4-5 star reviews should donate something. I want this plugin to be maintained. Cheers!
Ogwomwenda (Mutunda) 3, 2016 1 reply
Work as expected. The only reason I don’t give 5 stars is that shortcode options aren’t documented. I’ve just forked the code on GitHub, I’ll work it out when at home
Read all 3 reviews

Contributors & Developers

“Multisite Directory” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Multisite Directory” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.2.3

  • Updated translations and numerous compatibility improvements (props @hvianna).
  • Protect against errors when mistakenly activated on a single-site WordPress install.
  • Enhancement: get_site_permalink() now supports the scheme parameter of get_site_url().
  • Feature: Choose to keep Directory Entry titles in sync with Site Name changes.
  • Bugfix: Fix bug where shortcode was always printed above post content.

0.2.2

  • Adds custom-fields support to Site Directory entries.
  • Adds contextual help on the Site Directory post edit screen.

0.2.1

  • Feature: Shortcake UI integration. (You must have the Shortcode UI plugin activated for this to work. Props @misfit.)
  • Developer: You can now programmatically remove the geolocation interface from the Subsite Category admin pages. Use code such as remove_action('subsite_category_edit_form_fields', array('Multisite_Directory_Taxonomy', 'edit_form_fields)); from a plugin or theme to do so.

0.2

  • Feature: New shortcode argument query_args accepts a JSON string to pass to get_posts().
  • Bugfix: Remove front matter from rewrite rules.
    • Note that this changes your permalink structure. If the network directory posts on your site are not showing up after you update, be sure to visit your Permalink settings screen and click “Save Changes” (without making any changes) to force a refresh.
  • Numerous bugfixes.

0.1.2

  • Bugfix: “Remove location” button on taxonomy edit screen correctly deletes term geolocation metadata.

0.1.1

  • Bugfix: Fix PHP warning when no attributes are passed to the shortcode.

0.1

  • First public release.