-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
gotowebpl edited this page Jan 15, 2026
·
1 revision
This guide will help you get up and running with ShadowORM in minutes.
After installation, activate ShadowORM via WordPress Admin or WP-CLI:
wp plugin activate shadow-ormwp shadow statusExpected output:
+------------+-------+----------+------+--------+
| Post Type | Total | Migrated | Size | Driver |
+------------+-------+----------+------+--------+
| post | 150 | 0 | - | - |
| page | 25 | 0 | - | - |
| product | 500 | 0 | - | - |
+------------+-------+----------+------+--------+
# Start with posts
wp shadow migrate --type=post
# Then other types
wp shadow migrate --type=page
wp shadow migrate --type=product
# Or migrate everything at once
wp shadow migrate --allwp shadow statusAfter migration:
+------------+-------+----------+--------+--------+
| Post Type | Total | Migrated | Size | Driver |
+------------+-------+----------+--------+--------+
| post | 150 | 150 | 1.2 MB | MySQL8 |
| page | 25 | 25 | 0.3 MB | MySQL8 |
| product | 500 | 500 | 5.6 MB | MySQL8 |
+------------+-------+----------+--------+--------+
Navigate to Settings → ShadowORM to access the admin panel.
- System Status: Enable/disable ShadowORM globally
- Post Type Management: Toggle shadow tables per post type
- Migration Status: View how many posts are migrated
- Sync Actions: Trigger sync or rollback operations
In the admin panel, you can:
- Enable shadow tables for specific post types
- Disable shadow tables (falls back to wp_postmeta)
- Sync individual post types
Good news: It doesn't!
ShadowORM is fully transparent. Your existing code continues to work:
// These work exactly the same with ShadowORM
$price = get_post_meta($product_id, '_price', true);
$all_meta = get_post_meta($post_id);
// Updates are synced automatically
update_post_meta($post_id, 'my_field', 'value');-
Read Request:
get_post_meta()is intercepted - Cache Check: RAM cache is checked first
- Shadow Table: If not cached, data is fetched from shadow table (1 query)
- Cache Update: Result is stored in RAM cache
- Return: Value is returned to your code
Run a quick benchmark:
wp shadow benchmark --type=product --iterations=100Example output:
Benchmark results for 100 iterations:
Average: 0.342 ms
Min: 0.218 ms
Max: 0.567 ms
- Architecture - Understand how ShadowORM works
- WP-CLI Commands - Full command reference
- Configuration - Advanced configuration options
High-performance ORM layer for WordPress/WooCommerce
- Home - Overview and features
- Installation - Setup instructions
- Getting Started - Quick start guide
- Configuration - Settings reference
- WP-CLI Commands - Command reference
- Architecture - Technical design
- How It Works - Internal workings
- API Reference - Developer API
- Troubleshooting - Problem solving
- FAQ - Common questions
Links