=== Volume Post Sync Manager ===
Contributors: wearevolume
Tags: sync, deployment, staging, post, content
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.2
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Push and pull individual posts between WordPress environments.

== Description ==

Post Sync Manager lets you move posts between your local, staging, and production WordPress sites with a single click — directly from the Gutenberg editor.

**Free features:**
* Push and pull posts, pages, and custom post types between environments
* Sync status indicator (in sync, remote newer, local newer, conflict)
* Secret-key authentication between sites
* Full sync log with pagination

**[Pro version](https://postsyncmanager.com) features:**
* Bulk sync page with per-row push, pull, and status check

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`
2. Activate the plugin through the **Plugins** menu in WordPress
3. Go to **Post Sync Manager → Settings** and set your environment name and secret key
4. Add your remote environments (URL + their secret key)
5. Open any post or page in the Gutenberg editor — the **Post Sync Manager** panel will appear in the sidebar

== Frequently Asked Questions ==

= How does authentication work? =

Each site has a secret key. When pushing or pulling, the request is signed with the destination site's secret key. Requests with an invalid or missing key are rejected.

= Does it sync media? =

Yes. Featured images and inline images are included when syncing a post.

= Can I sync custom post types? =

Yes. The free plugin supports all public post types, including custom post types.

= I'm migrating my site — will my settings be preserved? =

Post Sync Manager stores its data in two custom database tables: `{prefix}post_sync_manager` (your environment configuration and secret keys) and `{prefix}post_sync_log` (sync history). When migrating, exclude both tables to preserve your destination site's settings. In WP Migrate DB Pro, go to **Advanced Settings** and add both table names to the excluded tables list. In All-in-One WP Migration, use the **Advanced Options** to exclude them. If you do a full migration without excluding these tables, go to **Post Sync Manager → Settings** and reconfigure your environment before syncing.

== External Services ==

This plugin communicates **only between your own WordPress sites** when pushing or pulling posts. No data is routed through any third-party server.

* **What is sent:** post content, post meta, and media attachments belonging to the post being synced
* **Where it goes:** directly to the remote WordPress site URL you configure in Settings
* **Authentication:** requests are authenticated with a secret key you set — no external accounts required

== Changelog ==

= 1.0.0 =
* Initial release
