Transients Module — User Guide
Table of Contents
The Transients Module is a built-in transient management tool within Advanced Analytics. It allows WordPress administrators to view, search, create, edit, and delete WordPress transients directly from the admin area — including transients stored in external object caches such as Redis.
You need the Administrator role (the
manage_options capability) to access the Transients module. Other user roles will not see the menu item.Enable / Disable the Module
The Transients module is a standalone module inside Advanced Analytics. You can enable or disable it without affecting any other part of the plugin or WordPress itself.
- Navigate to Error Logs → Settings in the WordPress admin sidebar.
- Click the “Transients Options” tab (or scroll to the section headed Transients options).
- Toggle the “Enable transients module” checkbox.
- Click Save Changes.
Module Settings
The Transients Options tab on the Settings page has one setting:
Enable Transients module
| Type | Checkbox |
|---|---|
| Default | Enabled (checked) |
| Effect | Shows or hides the Transients viewer sub-menu and all associated functionality. Disabling this module does not delete or modify any existing transients — it only removes the management interface. |
Transient List
This is the main screen. It shows all transients stored on your site in a table, pulled directly from the WordPress wp_options table. If Redis is active, transients stored in Redis are merged into the list automatically.
Columns
| Column | Description |
|---|---|
| Name | The transient name (with the _transient_ or _site_transient_ prefix stripped). WordPress core transients are indicated with a WordPress icon. Redis-sourced transients display a red “Redis” badge. Row actions appear on hover beneath the name. |
| Expiration | The expiration timestamp in your site’s local timezone. Persistent transients (no expiration) show a “Persistent” badge. Expired transients show as expired with the original timestamp. |
| Value | A preview of the transient value (first 100 characters) with a type badge indicating the detected data type: array, object, serialized, html, json, numeric, timestamp?, boolean?, scalar, or empty. |
Filters & Views
Status Views
Above the table you will find quick-filter links. Each shows a count in parentheses:
| View | Shows |
|---|---|
| All transients (no filters) | All transients currently stored in the database (and Redis, if active). |
| Expired transients | Transients whose expiration timestamp has passed but have not yet been cleaned up by WordPress. |
| Persistent transients | Transients with no expiration date — they remain until explicitly deleted. |
| Transients with expiration | Transients that have an expiration timestamp set (whether or not it has passed). |
| Core transients | Transients created by WordPress core, such as update_themes, update_plugins, update_core, and others. |
Searching Transients
Use the search box in the top-right corner of the list page. It searches by transient name (the option_name field in the database).
- Type part of a transient name and press Enter or click Search.
- The search is case-insensitive and matches partial text.
- To clear the search, empty the box and press Enter.
- When Redis is active, Redis-stored transients are also filtered by the search term.
Single Transient Actions
Hover over any transient row to reveal the available actions below the transient name:
Database Transients
| Action | Description |
|---|---|
| Delete | Deletes the transient using the WordPress Transient API. Handles both regular and site-wide transients automatically. A confirmation dialog appears before deletion. |
| View | Opens a modal dialog showing the full transient details: option ID, name, expiration, and complete value. Includes copy-to-clipboard and (on supported devices) native share functionality. |
| Edit | Opens the edit form where you can modify the transient name, expiration date/time, and value. |
Redis Transients
| Action | Description |
|---|---|
| Delete | Deletes the transient via the WordPress Transient API. A confirmation dialog appears before deletion. |
wp_options table.Adding a New Transient
- On the Transients list page, click “Add New Transient” (next to the page heading).
- Enter a Name for the transient (required). This is the key used with
get_transient()/set_transient(). - On multisite installations, optionally check Site Wide to create a site-wide (network) transient.
- Set the Expiration date and time. This determines when the transient will be eligible for automatic cleanup by WordPress.
- Enter the transient Value in the textarea. For data structures, use serialized format (e.g.,
a:2:{s:7:"version";s:3:"1.2";...}). - Click Submit.
get_transient().Editing a Transient
Click Edit on any database transient row to open the edit form.
Edit Form Fields
| Field | Type | Description |
|---|---|---|
| Option ID | Display only | The internal option_id from the wp_options table. Cannot be changed. |
| Name | Text input | The transient name (editable). If you change the name, the old transient is deleted and a new one is created. |
| Expiration | Date + Time inputs | Shown only for transients that have an expiration. Set the new date and time in your site’s local timezone. Persistent transients cannot have an expiration added. |
| Value | Textarea | The full transient value. For serialized data structures, edit the raw serialized string carefully. |
update_plugins), a warning notice is displayed: “This is a WP core transient, even if you update it, the new value will be overridden by the core!” Proceed with caution — your changes may be overwritten by WordPress on the next relevant operation.Viewing Transient Details
Click View on any database transient row to open a modal dialog that displays:
- Transient name — displayed in the modal header.
- Option ID — the database record identifier.
- Name — the clean transient name (without prefix).
- Expiration — date and time in your site’s local timezone (if applicable).
- Value — the full transient value, formatted for readability.
The modal provides two utility buttons:
- Copy to clipboard (clipboard icon) — copies the raw HTML content of the transient data.
- Share (share icon) — uses the browser’s native Share API to share the transient data. Only shown on devices that support the Web Share API.
The transient data is fetched via the REST API endpoint, so the modal loads asynchronously. A “Loading please wait…” message is shown while the data is being retrieved.
Bulk Actions
Perform operations on multiple transients at once:
- Check the boxes next to the transients you want to act on. Use the checkbox in the header row to select all visible transients.
- Open the Bulk actions dropdown (top-left or bottom-left of the table).
- Choose Delete and click Apply.
| Action | Description |
|---|---|
| Delete | Permanently deletes all selected transients from the database. |
CSV Export
Export the currently filtered/displayed transients to a CSV file:
- Apply any desired filters or search (the export respects your current filter context).
- Click the “CSV Export” button above the table.
- A progress bar appears during the export. You can click Cancel if needed.
- The CSV file downloads automatically once complete.
Object Cache Support
The Transients module automatically detects and works with external persistent object caches. When WordPress is configured to use an object cache, transients may be stored outside the database.
Supported Backends
| Backend | Detection | Transient Listing |
|---|---|---|
| Redis | Detects Redis or Predis\Client classes, WP_REDIS_HOST constant |
Full support — Redis-stored transients are scanned and merged into the list with a “Redis” badge. Uses SCAN for efficient key discovery. |
| Memcached | Detects Memcached class |
Database-stored transients only. A notice informs you that some transients may be stored in the cache and not visible. |
| Memcache (legacy) | Detects Memcache class |
Database-stored transients only. |
| APCu | Detects apcu_cache_info function |
Database-stored transients only. |
Row Styling & Status Indicators
Each transient row has a coloured left border indicating its status:
| Colour | Meaning |
|---|---|
| Yellow | Persistent transient — no expiration date set. |
| Green | On-time — the transient has an expiration and has not yet expired. |
| Red | Expired — the transient’s expiration timestamp has passed. |
Screen Options
Click Screen Options (top-right of the page, just below the admin bar) to customize the display:
Number of transients to show
Control how many transients display per page. Enter a number and click Apply. Default is 10. This setting is saved per user.
Column Visibility
Check or uncheck columns to show or hide them. Settings persist across sessions for each user.
Multisite Networks
On WordPress multisite installations, the Transients module provides additional capabilities:
- Site-wide transients — The module handles both regular transients (
_transient_) and site-wide transients (_site_transient_). Both types are displayed in the same list. - Creating site-wide transients — When adding a new transient, a Site Wide checkbox appears. Checking it creates a network-scoped transient using
set_site_transient(). - Editing and deleting — The module automatically detects whether a transient is site-wide and uses the appropriate API (
delete_site_transient()ordelete_transient()).
Troubleshooting
“Transient does not exist or it has been expired / removed”
The transient you tried to edit no longer exists in the database. This can happen if the transient expired and was cleaned up between the time you viewed the list and clicked Edit. Return to the list and refresh.
Transient list appears empty
If no transients are shown:
- Check that the module is enabled in Error Logs → Settings → Transients Options.
- If an object cache is active, transients may be stored outside the database. Only Redis transients can be listed alongside database transients.
- Clear any active search filters.
Changes to a core transient are being overridden
WordPress core transients (such as update_plugins, update_themes, update_core) are managed by WordPress itself. Editing these values will work temporarily, but WordPress will overwrite them during its next update check or relevant operation.
Redis transients cannot be edited
View and Edit actions are only available for database-stored transients. Redis-stored transients can only be deleted through the module. To modify a Redis-stored transient, use set_transient() programmatically or via a code snippet.
“You do not have permission to manage transients list”
The Transients module requires the manage_options capability (typically the Administrator role). If you see this message, your user account does not have sufficient privileges.
Error Messages Reference
| Message | Cause | Solution |
|---|---|---|
| “Transient does not exist or it has been expired / removed” | Transient was deleted or expired | Return to the list and refresh |
| “Transient is not / can not be deleted.” | Delete operation failed | The transient may have already been removed. Refresh the list. |
| “No record found.” | REST API lookup returned no results | The transient may have expired. Refresh and try again. |
| “Invalid timestamp provided.” | The date/time entered during edit is invalid | Enter a valid date (yyyy-mm-dd) and time (hh:mm:ss) |
| “You do not have permission to manage transients list.” | Insufficient user capabilities | Log in as an administrator |
| “You do not have permission to update transients.” | Insufficient user capabilities | Log in as an administrator |
| “You do not have permission to create transients.” | Insufficient user capabilities | Log in as an administrator |
See
Transients Module Developer Documentation for architectural details, class references, sandbox internals, condition evaluator API, and code examples for extending the Snippets module programmatically.