Backup and Restore Settings
Export and import WP ULike configuration as JSON — settings, customizer, display rules, and REST API options.
The Help page backup exports site configuration — not vote data. Use it to clone settings between staging and production, or save a snapshot before major updates.
WP ULike → Help → Settings backup
Export
- Go to WP ULike → Help.
- In Settings backup, click Export.
- Save the JSON file (
wp-ulike-settings-YYYY-MM-DD.json).
Requires manage_options capability.
What is included
The export is a single JSON object with these top-level keys:
| Key | Option name | Contents |
|---|---|---|
version | — | WP ULike free plugin version at export time |
exported | — | ISO 8601 timestamp |
settings | wp_ulike_settings | All Settings panel values — every tab and field |
customize | wp_ulike_customize | All Customizer values — button, toast, and Pro styling |
extensions | — | Pro-only blocks (see below) |
Settings (settings)
Everything under WP ULike → Settings, including when Pro is active:
- General — toasts, counters, IP privacy, caching, admin columns, view tracking, serialized storage, blacklist
- Content Types — posts, comments, BuddyPress, bbPress groups (templates, auto-display, voting, likers box, dislike options)
- Profiles — profile pages, tabs, badges, permalinks, dashboard lockdown [pro]
- Login & Signup — forms, redirects, 2FA, reCAPTCHA [pro]
- Social Logins — OAuth credentials per network [pro]
- Share Buttons — repeater sets with slugs and network config [pro]
- Translations → Strings — vote and form notices
- Translations → Emails — email templates and sender options [pro]
- Developer Tools — custom CSS, PHP snippets, JS snippets
PHP snippets and OAuth secrets are included in the JSON — treat the file as sensitive.
Customizer (customize)
Everything under WP ULike → Customize:
- Button wrapper, button group, counter group styling
- Toast notification styling
- Dislike icon images [pro]
- Profile template styling [pro]
- Login/signup form styling [pro]
- Social button styling [pro]
Pro extensions (extensions.wp-ulike-pro)
When WP ULike Pro is active, the export adds:
| Field | Option / storage | Contents |
|---|---|---|
version | — | WP ULike Pro version |
display_rules | wp_ulike_pro_display_rules | Full Display Automation rule set — every rule, condition, template, and placement |
rest_api_settings | wp_ulike_rest_api_settings | REST API configuration (see below) |
Display rule fields exported per rule:
id, enabled, title, content_type, placement, placement_group, custom_hook, hook_priority, priority, position, override_default, template, display_counter, display_likers, likers_style, conditions (show_on, hide_on, post_types, taxonomy, term_ids, WooCommerce/EDD/bbPress filters)
REST API settings exported:
| Key | Description |
|---|---|
enable_rest_api | Master on/off |
authentication_type | login or token |
rest_api_permission_for_readable_routes | Role slugs allowed to read |
rest_api_permission_for_writable_routes | Role slugs allowed to write |
enable_auto_user_id | Attribute writes to authenticated user |
What is NOT included
These are never in the backup file:
| Data | Why |
|---|---|
Schema Generator per-post data | Stored as post meta ( wp_ulike_pro_meta_box, FAQ, star ratings) — per item, not site config |
REST API keys / Bearer tokens | Stored in wp_ulike_rest_api_keys — security; regenerate after import |
Vote logs and counters | Database tables ( wp_ulike, wp_ulike_comments, etc.) |
Statistics cache and view records | Operational analytics data |
License key and license data | Reactivate Pro on the target site |
User vote history meta | Per-user engagement data |
2FA secrets, local avatars | Per-user security and media |
Generated CSS files on disk | Regenerated when customizer saves |
Important: Exporting settings does not copy Schema Generator configurations. Reconfigure schema per post on the new site, or use the post editor panel links under Tools → Schema Generator.
Import
- On the target site, open WP ULike → Help.
- Choose your JSON file and click Import.
- Confirm the overwrite prompt.
Pro sites see: "Import will replace your current WP ULike settings, customizer values, display rules, and REST API configuration."
Import behavior
| Section | Behavior |
|---|---|
settings | Required — fully replaces wp_ulike_settings after sanitization |
customize | Optional — applied only if present and non-empty; otherwise existing customizer values are kept |
extensions.wp-ulike-pro.display_rules | Applied if present — replaces all Display Automation rules |
extensions.wp-ulike-pro.rest_api_settings | Applied if present — replaces REST API panel settings |
Missing Pro extension block | Display rules and REST settings on target site unchanged |
Import clears the Help health report cache and fires the wp_ulike_backup_imported action.
After import checklist
- Activate Pro license on the target site if not already active.
- Regenerate REST API keys under Tools → REST API (keys are not in the export).
- Open Customize and click Save once if front-end button styles look wrong (CSS file may need regeneration).
- Revisit Tools → Schema Generator for per-post markup — schema is not in the backup.
- Run Tools → Maintenance → Sync Counter Values only if you also migrated vote data separately.
- Confirm Content Types post type filters match the target site's post types.
Error handling
| Situation | Result |
|---|---|
Invalid JSON or missing settings key | Import rejected with error |
Upload failure | Redirect with upload error notice |
Extension import returns WP_Error | Entire import aborted |
When to use backup
- Moving settings from staging to production — see Staging & Development Sites
- Cloning configuration across multisite subsites (import per subsite; vote data is separate)
- Snapshot before major plugin updates or Display Automation changes
- Sharing a baseline config with a client site (remove OAuth secrets from JSON first)
Developer hooks
Extend or validate backup payloads:
// Add data to export
add_filter('wp_ulike_backup_export_payload', function($data) {
$data['my_extension'] = get_option('my_plugin_data');
return $data;
});
// Restore extension data on import
add_filter('wp_ulike_backup_import_extensions', function($result, $payload) {
if (!empty($payload['my_extension'])) {
update_option('my_plugin_data', $payload['my_extension']);
}
return $result;
}, 10, 2);
// Run after successful import
add_action('wp_ulike_backup_imported', function($payload) {
// Clear caches, notify admin, etc.
});
Other filters: wp_ulike_backup_intro, wp_ulike_backup_import_confirm.
Related: Display Automation · REST API · Database & Meta
Related articles
Continue with these guides
Did this article help?
Pick how you feel, add a note if you want, then hit Send. It takes two seconds and helps us improve this guide.