WP Manifestindependent plugin directory
manifest / i18n / wp-meta-sync

WP Meta Sync

High-performance synchronization of meta fields between post translations. Supports Polylang, WPML, qTranslate-X and other multilingual plugins. Optimized for large sites with 60,000+ posts and 2M+ meta records.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/denis-ershov/wp-meta-sync/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

High-performance synchronization of meta fields between post translations for multilingual WordPress sites.

🎯 What It Does

WP Meta Sync automatically keeps custom meta fields synchronized across all language versions of your posts. When you update a featured image, custom field, or any meta data on one language version, it instantly syncs to all translations.

🚀 Key Features

  • Universal Compatibility - Works with Polylang, WPML, qTranslate-X, and MultilingualPress
  • High Performance - Optimized for large sites (60,000+ posts, 2M+ meta records)
  • Background Processing - Non-blocking sync operations via WordPress cron
  • Smart Caching - Reduces database queries with intelligent translation caching
  • Real-time Dashboard - Monitor sync progress and queue status
  • Debug Logging - Detailed operation logs for troubleshooting

📋 Requirements

  • WordPress 5.0 or higher
  • PHP 7.4 or higher
  • One of the supported multilingual plugins:
    • Polylang (Free or Pro)
    • WPML
    • qTranslate-X
    • MultilingualPress

⚡ Quick Start

  1. Install the plugin and activate it
  2. Go to Settings → WP Meta Sync
  3. Add meta field keys you want to sync (one per line):
    _thumbnail_id
    custom_field_name
    product_price
    seo_description
  4. Select post types to synchronize
  5. Save settings and start syncing!

🎛️ Configuration

Meta Fields to Sync

Add any meta field keys you want synchronized:

  • _thumbnail_id - Featured images
  • _wp_page_template - Page templates
  • custom_field_name - Your custom fields
  • _yoast_wpseo_title - SEO data
  • _product_price - WooCommerce data

Performance Settings

  • Batch Size: 50 for shared hosting, 100+ for VPS
  • Execution Time: 25 seconds (auto-continues in background)
  • Background Processing: Enabled for large operations
  • Translation Caching: Recommended for sites with many posts

💻 Developer API

// Add meta field for synchronization
wpms_add_sync_meta_key('my_custom_field');

// Remove meta field from sync
wpms_remove_sync_meta_key('old_field');

// Force sync specific post
wpms_sync_post_meta(123);

// Check queue size
$queue_size = wpms_get_queue_size();

Hooks & Filters

// Auto-sync on WooCommerce product save
add_action('woocommerce_process_product_meta', function($post_id) {
    wpms_sync_post_meta($post_id);
});

// Custom sync for critical fields
add_action('updated_post_meta', function($meta_id, $post_id, $meta_key, $meta_value) {
    if ($meta_key === 'critical_field') {
        wpms_sync_post_meta($post_id);
    }
}, 10, 4);

📊 Performance

Optimized for Large Sites:

  • Batch processing with configurable sizes
  • SQL query optimization with bulk operations
  • Memory-efficient processing with queue system
  • Time-limited execution prevents timeouts

Before WP Meta Sync: 10-50 posts/second
After WP Meta Sync: 200-500 posts/second

🌍 Languages

  • English - Default
  • Russian (Русский) - Complete

📈 Use Cases

  • E-commerce sites with product translations
  • Corporate websites with multilingual content
  • Blogs with international audiences
  • Any WordPress site using multilingual plugins

🛠️ Installation

Manual Installation

  1. Download the plugin zip
  2. Upload to /wp-content/plugins/wp-meta-sync/
  3. Activate through WordPress admin

📝 Changelog

1.0.0 (2025-09-03)

  • Initial release
  • Universal multilingual plugin support
  • High-performance batch processing
  • Real-time dashboard with progress monitoring
  • Background processing with WordPress cron
  • Debug logging and error handling
  • Multi-language interface (English, Russian)

🤝 Contributing

We welcome contributions!

  • Report bugs via GitHub Issues
  • Submit translations via pull requests
  • Contribute code following WordPress coding standards

📞 Support

📄 License

This plugin is licensed under the GPL v3 or later.


Made with ❤️ for the WordPress multilingual community

⭐ Star this repo if WP Meta Sync helps your multilingual site!