WP ULike
Get Pro

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

  1. Go to WP ULike → Help.
  2. In Settings backup, click Export.
  3. 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:

KeyOption nameContents
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:

FieldOption / storageContents
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:

KeyDescription
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:

DataWhy
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

  1. On the target site, open WP ULike → Help.
  2. Choose your JSON file and click Import.
  3. 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

SectionBehavior
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

  1. Activate Pro license on the target site if not already active.
  2. Regenerate REST API keys under Tools → REST API (keys are not in the export).
  3. Open Customize and click Save once if front-end button styles look wrong (CSS file may need regeneration).
  4. Revisit Tools → Schema Generator for per-post markup — schema is not in the backup.
  5. Run Tools → Maintenance → Sync Counter Values only if you also migrated vote data separately.
  6. Confirm Content Types post type filters match the target site's post types.

Error handling

SituationResult
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

Continue with these guides