Automattic / zoninator

Curation made easy! Create "zones" then add and order your content straight from the WordPress Dashboard.
https://wordpress.org/plugins/zoninator/
GNU General Public License v2.0
85 stars 50 forks source link
wordpress wordpress-plugin wpvip-plugin

Zone Manager (Zoninator)

Stable tag: 0.10.1
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: zones, post order, post list, posts, order, zonination, content curation, curation, content management
Contributors: batmoo, automattic, wpcomvip, pkevan, matthumphreys, potatomaster, jblz, nickdaugherty, betzster, garyj

Content curation made easy! Create "zones" then add and order your content!

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

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;

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.

Frequently Asked Questions

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:

Changelog

Please visit the changelog.

Screenshots

  1. Create and manage your zones and content through a fairly intuitive and familiar interface. Overview of a homepage slideshow zone showing the name and description, and two posts assigned to that zone
  2. Zone editing
    Editing a food zone in Zoninator
  3. Use the Zone Posts widget in the widgets area.
    A sidebar widget area with a couple of Zone Posts widgets
  4. Output of the zone posts widgets.
    Sidebar front end with the links to posts showing