Zone Manager (Zoninator)

Description

This plugin is designed to help you curate your content. It lets you assign and order stories within zones that you create, edit, and delete, and display those groupings of related stories on your site.

This plugin was originally built by Mohammad Jangda in conjunction with William Davis and the Bangor Daily News.

Features

  • Add, edit, and delete zones.
  • Add and remove posts (or any custom post type) to or from zones.
  • Order posts in any given zone.
  • Limit capabilities on who can add, edit, and delete zones vs add content to zones.
  • Locking mechanism, so only one user can edit a zone at a time (to avoid conflicts).
  • Idle control, so people can’t keep the zone locked.

Function Reference

Get an array of all zones:

z_get_zones()

Get a single zone, accepts either ID or slug:

z_get_zone( $zone )

Get an array of ordered posts in a given zone, accepts either ID or slug:

z_get_posts_in_zone( $zone )

Get a WP_Query object for a given zone, accepts either ID or slug:

z_get_zone_query( $zone );

More functions listed in functions.php.

Screenshots

  • Create and manage your zones and content through a fairly intuitive and familiar interface.
  • Zone editing
  • Use the Zone Posts widget in the widgets area.
  • Output of the zone posts widgets.

Installation

  1. Unzip contents and upload to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Dashboard > Zones to create and manage your zones, and easily search for and add existing posts.
  4. Use the plugin’s handy API functions to add zones to your theme that retrieve and display your content. Or, for those who are a bit code-averse, go to Appearance-Widgets and add Zone Posts widgets to display your zone posts in your sidebar or footer. The widget will pull the posts from the chosen zone.

Usage examples

You can work with a zone’s posts either as an array or a WP_Query object.

WP_Query

$zone_query = z_get_zone_query( 'homepage' );
if ( $zone_query->have_posts() ) :
    while ( $zone_query->have_posts() ) : $zone_query->the_post();
        echo '<li>' . get_the_title() . '</li>';
    endwhile;
endif;
wp_reset_query();

Posts Array

$zone_posts = z_get_posts_in_zone( 'homepage' );
foreach ( $zone_posts as $zone_post ) :
    echo '<li>' . get_the_title( $zone_post->ID ) . '</li>';
endforeach;

FAQ

How do I disable the locking feature?

You can use a filter:

add_filter( 'zoninator_zone_max_lock_period', 'z_disable_zoninator_locks' );

How do I change the locking feature settings?

Filter the following and change according to your needs:

  • Number of seconds a lock is valid for, default 30: zoninator_zone_lock_period
  • Max idle time in seconds: zoninator_zone_max_lock_period

Reviews

Oktubor 19, 2018
We have been using this plugin for five years on 20 major news sites and it is integral to our daily work.
Séptembor 3, 2016
I have a idea for my blog, where some topic divided to few different posts ans user can freely navigate between different parts of it. This plugin helped me a lot! Thanks developer!
Read all 3 reviews

Contributors & Developers

“Zone Manager (Zoninator)” is open source software. The following people have contributed to this plugin.

Contributors

“Zone Manager (Zoninator)” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Zone Manager (Zoninator)” into your language.

Interested in development?

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

Changelog

Please visit the changelog.