=== Post Order Control - Drag, Drop & Reorder Posts and Post Types ===
Contributors: wpunicorn
Tags: post order, drag drop, menu order, post types, ordering
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Drag-and-drop ordering for any post type using WordPress's built-in `menu_order` field. Features modern admin UI and full theme compatibility.

== Description ==

Post Order Control provides an intuitive drag-and-drop interface for reordering posts, pages, and custom post types directly in the WordPress admin. Built with accessibility and theme compatibility in mind, this plugin uses WordPress's standard `menu_order` field for maximum compatibility.

= Key Features =

* **Drag-and-drop ordering** directly in WordPress admin post/page lists
* **WordPress Standard**: Uses built-in `menu_order` field for maximum theme compatibility
* **Modern admin interface** with tabbed settings and comprehensive documentation
* **Taxonomy ordering** for categories, tags, and custom taxonomies
* **Auto-apply option** to automatically use custom order on frontend
* **REST API** for fetching/saving ordering with nonce and capability checks
* **Helper function** `postordercontrol_get_ordered_posts()` for easy theme integration
* **Export/Import** functionality for backing up ordering data
* **Accessible design** with keyboard navigation and screen reader support
* **I18n ready** with included POT file

= How It Works =

This plugin uses WordPress's built-in `menu_order` field to store post ordering:

* **Drag-and-drop** updates the `menu_order` value for each post
* **Theme queries** using `orderby => 'menu_order'` automatically respect your custom order
* **No custom database tables** or complex queries needed
* **Full compatibility** with any theme or plugin that supports `menu_order`

= Theme Integration =

The plugin provides multiple ways to integrate with your theme:

**Method 1: Helper Function (Recommended)**
```php
$posts = postordercontrol_get_ordered_posts( array(
    'post_type' => 'post',
    'posts_per_page' => 10,
    'post_status' => 'publish',
) );
```

**Method 2: Standard WP_Query**
```php
$query = new WP_Query( array(
    'post_type' => 'post',
    'orderby' => 'menu_order',
    'order' => 'ASC',
    'posts_per_page' => 10,
) );
```

**Method 3: Auto-Apply (Global)**
Enable automatic ordering for all frontend queries in the plugin settings.

= Taxonomy Ordering =

The plugin also supports drag-and-drop ordering for taxonomies:

* Enable taxonomies in the Advanced settings tab
* Drag and drop terms in taxonomy admin pages
* Use `wp_list_categories()` with `orderby => 'meta_value_num'` and `meta_key => 'postordercontrol_term_order'`

= Capabilities =

* By default, users with `edit_posts` capability can manage ordering
* Optionally restrict to `manage_options` (Administrators only) via Settings

== Installation ==

1. Upload the plugin files to `/wp-content/plugins/post-order-control/`
2. Activate the plugin through the 'Plugins' screen in WordPress
3. Go to **Settings → Post Order Control** to configure the plugin
4. Start ordering your content by visiting your post type admin pages

== Frequently Asked Questions ==

= How do I reorder posts? =

The easiest way is directly in the WordPress admin:
1. Go to **Posts → All Posts** or **Pages → All Pages**
2. You'll see a new "Order" column with drag handles (⋮⋮)
3. Simply drag any row up or down to reorder
4. The order saves automatically when you drop the row

= Will this work with my theme? =

Yes! This plugin uses WordPress's standard `menu_order` field, which is supported by most themes. If your theme doesn't automatically use the custom order, you can:
1. Enable "Auto Apply Sort" in the plugin settings, or
2. Modify your theme queries to use `orderby => 'menu_order'`

= Can I order custom post types? =

Yes! The plugin supports any public post type. Enable them in the General settings tab.

= Can I order categories and tags? =

Yes! Enable taxonomies in the Advanced settings tab, then drag and drop terms in their respective admin pages.

= How do I display ordered posts in my theme? =

Use the helper function `postordercontrol_get_ordered_posts()` or modify your WP_Query to use `orderby => 'menu_order'`. See the plugin's "How To" tab for detailed examples.

= Can I backup my ordering data? =

Yes! Use the Export/Import feature in the Advanced settings tab to backup and restore your ordering data.

== Screenshots ==

1. Modern tabbed settings interface
2. Taxonomy ordering in category admin
3. Comprehensive "How To" documentation tab
4. Drag-and-drop interface in post admin list

== Changelog ==

= 1.0.0 =
* Initial release
* Drag-and-drop ordering in admin lists
* WordPress `menu_order` field integration
* Taxonomy drag-and-drop support
* Modern tabbed admin interface
* REST API support
* Helper function for theme integration
* Export/Import functionality
* Comprehensive documentation
* Full i18n support

== Upgrade Notice ==

= 1.0.0 =
Initial release of Post Order Control. Install to start reordering your content with drag-and-drop functionality.

== Support ==

For support, feature requests, or bug reports, please visit the plugin's support forum or create an issue in the repository.

== Privacy Policy ==

This plugin does not collect, store, or transmit any personal data. All ordering data is stored locally in your WordPress database using WordPress's standard `menu_order` field and term meta.

== Credits ==

Built with ❤️ by wpunicorn. Uses WordPress's built-in functionality for maximum compatibility and performance.
