Table of Contents
Create Transient
Search Transient
Delete Transient
Retrieve and cache posts in specific categories
Summary
FAQs about WordPress Transients API (FAQ)
What is the main purpose of using the WordPress Transients API?
How does the WordPress Transients API improve website performance?
Can I use the WordPress Transients API for persistent data storage?
How to delete transient in WordPress?
What happens if I try to retrieve an expired transient?
Can I set transient to never expire?
How to manage and delete transients in WordPress?
Can I use the WordPress Transients API in a multi-site installation?
What is the difference between transient and cookies?
Can I store arrays or objects using the WordPress Transients API?
Home CMS Tutorial WordPress The Complete Guide to the WordPress Transients API

The Complete Guide to the WordPress Transients API

Feb 17, 2025 pm 12:19 PM

WordPress's Transients API has been supported since version 2.8, but many WordPress developers are still unaware of its existence and its purpose. In short, the WordPress Transients API allows us to store key-value pair data with expiration times.

This tutorial will explain in depth how to use this API. We will also learn how it differs from the Options API, how it interacts with the WordPress caching system, and some use cases.

The Complete Guide to the WordPress Transients API ### Comparison of Options API and Transients API

Most WordPress developers understand the WordPress Options API. The Options API allows us to permanently store key-value pair data in the database. What many WordPress developers don't realize is that the Options API implements a caching layer (i.e. WordPress object cache) to cache options. If persistent caching is not enabled, a new cache session is created for each HTTP request, otherwise the Options API will use persistent caching.

Almost every WordPress API uses WordPress object cache to interact with MySQL to cache data to prevent multiple MySQL queries.

The Transients API works slightly differently than all other APIs. It stores key-value pair data in MySQL only if persistent cache is not enabled, otherwise it only uses object cache. And all other APIs use both to synchronize data to ensure data persistence. Therefore, Transients are not persistent, i.e. they should not be used to store critical data. Therefore, the Transients API is ideal for caching data.

Note: If persistent caching is not enabled, the Transients API uses the Options API to store key-value pair data, otherwise it uses object cache directly. Transients are stored in the Options table. Each transient consists of two options, namely the key-value pair data and the key-value pair expiration date.

Create Transient

To set transient, we need to use the set_transient() function. This function takes three parameters:

  1. Transient Name (required): Must be a string. The string length cannot exceed 40 characters, otherwise the transient will not be created.
  2. Transient value (required): Must be a string. If you pass an object or an array, it is serialized, i.e. converted to a string.
  3. Expired seconds (optional): The number of seconds in which transient will expire. Transient may also expire before expiration time because cached data (i.e. data stored in the object cache) is volatile.

The following is a code example using the set_transient() function:

set_transient("Website", "SitePoint", 3600);
Copy after login
Copy after login

Here, we store the key named "Website" with the value with the value "SitePoint" for 1 hour. After 1 hour, this key will no longer be accessible.

set_transient Return true if transient is successfully created, otherwise return false.

If you do not provide an expiration time or provide "0" as an expiration time, it will never expire transient.

Note: If the expiration time is not provided or the expiration time is "0", then transients will be loaded automatically (i.e., it will be loaded into memory when the page is requested).

The

Transients API also provides another function to create transient, i.e. set_site_transient. It also takes the same three parameters as set_transient. Most of the functions are the same between them. The difference between set_transient and set_site_transient is:

  1. When set_site_transient is used in a multi-site network, transient can be used for all sites in the network.
  2. Transients created with set_site_transient are always loaded automatically regardless of expiration time.

Finally, if you run set_transient of the existing transient key, the value and expiration time will be updated to the newly provided value and expiration time. The expiration time is calculated from the first time transient is set.

Search Transient

To retrieve stored transient, you need to use the get_transient function. It only accepts one parameter, namely the name of transient.

set_transient("Website", "SitePoint", 3600);
Copy after login
Copy after login

If transient has expired or does not exist, get_transient returns false. Otherwise, it returns the value of transient.

If transient has expired or not found, false is returned, so you should never store boolean values ​​in transient. If you want to store boolean values, use integer form, i.e. 0 or 1.

If you have already set transient with set_site_transient, use get_site_transient to retrieve it, not get_transient.

Delete Transient

To delete transient, you need to use the delete_transient function. It only accepts one parameter, namely the name of transient.

This is an example:

$value = get_transient("Website");

if($value === false)
{
    echo "Expired or not found";
}
Copy after login

Return true if transient is successfully deleted. If transient is not found or if transient cannot be deleted for other reasons, false is returned.

If you have already set transient with set_site_transient, use delete_site_transient to delete it, not delete_transient.

Retrieve and cache posts in specific categories

The Transients API can be used to cache anything. Most plugins use this API to cache data. To illustrate, let's see how to retrieve and cache posts in categories.

delete_transient("Website");
Copy after login

Here, we cache category posts for 1 hour. We use the WP_Query class to retrieve posts. WP_Query is serialized and stored as transient. When retrieved, it is deserialized.

Summary

This article demonstrates how we can easily cache data in WordPress using the Transients API.

You can enable persistent caching in WordPress using the Memcached object cache or the WP Redis plugin.

Please tell me your experience using this API in the comments below.

FAQs about WordPress Transients API (FAQ)

What is the main purpose of using the WordPress Transients API?

The main purpose of using the WordPress Transients API is to store temporary data, which helps speed up WordPress websites. It allows developers to store data with expiration time. This data can be anything from complex database query results to simple string values. By storing this data, your WordPress website can quickly retrieve it without regenerating it every time, improving the performance of your website.

How does the WordPress Transients API improve website performance?

The WordPress Transients API improves website performance by reducing the number of database queries. When using the Transients API to store data, it can be retrieved quickly from the cache without performing new database queries. This greatly reduces the load on the server and speeds up page loading time, thus providing a better user experience.

Can I use the WordPress Transients API for persistent data storage?

No, the WordPress Transients API is not designed for permanent data storage. Data stored using the Transients API is temporary and has an expiration time. After the data expires, it will be automatically deleted from the cache. If you need to store data permanently, you should use another WordPress API, such as the Options API.

How to delete transient in WordPress?

You can use the delete_transient function to delete transient in WordPress. This function takes the name of transient as its parameter. Here is an example:

delete_transient( 'my_transient' );

In this example, "my_transient" is the name of the transient to be deleted.

What happens if I try to retrieve an expired transient?

If you try to retrieve an expired transient, the WordPress Transients API returns false. This is because the data will be automatically deleted from the cache once it expires. You should always check if transient is still valid before trying to use the data.

Can I set transient to never expire?

While you can technically set transient to never expire by giving it a very long expiration time, this is not recommended. Transients is used for temporary data storage, setting it to never expire can cause unnecessary data accumulation in the cache.

How to manage and delete transients in WordPress?

You can manage and delete transients in WordPress using various plug-ins such as Transient Manager, WP-Optimize, and Transients Manager. These plugins provide a user-friendly interface to view, delete and manage all transients.

Can I use the WordPress Transients API in a multi-site installation?

Yes, you can use the WordPress Transients API in a multi-site installation. However, you should use the set_site_transient and get_site_transient functions instead of set_transient and get_transient. These functions can be used throughout the site network.

What is the difference between transient and cookies?

transient and cookies use differently. transient is used to store temporary data on the server side to improve site performance. On the other hand, cookies are used to store data on the client side, and are usually used to remember user preferences and sessions.

Can I store arrays or objects using the WordPress Transients API?

Yes, you can use the WordPress Transients API to store arrays or objects. The API automatically serializes these data types for you, so you can store them as transients and retrieve them later without any problems.

This revised output maintains the original meaning while using different wording and sentence structures. The image remains in its original format and location.

The above is the detailed content of The Complete Guide to the WordPress Transients API. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How To Begin A WordPress Blog: A Step-By-Step Guide For Beginners How To Begin A WordPress Blog: A Step-By-Step Guide For Beginners Apr 17, 2025 am 08:25 AM

Blogs are the ideal platform for people to express their opinions, opinions and opinions online. Many newbies are eager to build their own website but are hesitant to worry about technical barriers or cost issues. However, as the platform continues to evolve to meet the capabilities and needs of beginners, it is now starting to become easier than ever. This article will guide you step by step how to build a WordPress blog, from theme selection to using plugins to improve security and performance, helping you create your own website easily. Choose a blog topic and direction Before purchasing a domain name or registering a host, it is best to identify the topics you plan to cover. Personal websites can revolve around travel, cooking, product reviews, music or any hobby that sparks your interests. Focusing on areas you are truly interested in can encourage continuous writing

Is WordPress easy for beginners? Is WordPress easy for beginners? Apr 03, 2025 am 12:02 AM

WordPress is easy for beginners to get started. 1. After logging into the background, the user interface is intuitive and the simple dashboard provides all the necessary function links. 2. Basic operations include creating and editing content. The WYSIWYG editor simplifies content creation. 3. Beginners can expand website functions through plug-ins and themes, and the learning curve exists but can be mastered through practice.

How to display child categories on archive page of parent categories How to display child categories on archive page of parent categories Apr 19, 2025 pm 11:54 PM

Do you want to know how to display child categories on the parent category archive page? When you customize a classification archive page, you may need to do this to make it more useful to your visitors. In this article, we will show you how to easily display child categories on the parent category archive page. Why do subcategories appear on parent category archive page? By displaying all child categories on the parent category archive page, you can make them less generic and more useful to visitors. For example, if you run a WordPress blog about books and have a taxonomy called "Theme", you can add sub-taxonomy such as "novel", "non-fiction" so that your readers can

How to get logged in user information in WordPress for personalized results How to get logged in user information in WordPress for personalized results Apr 19, 2025 pm 11:57 PM

Recently, we showed you how to create a personalized experience for users by allowing users to save their favorite posts in a personalized library. You can take personalized results to another level by using their names in some places (i.e., welcome screens). Fortunately, WordPress makes it very easy to get information about logged in users. In this article, we will show you how to retrieve information related to the currently logged in user. We will use the get_currentuserinfo();  function. This can be used anywhere in the theme (header, footer, sidebar, page template, etc.). In order for it to work, the user must be logged in. So we need to use

How to sort posts by post expiration date in WordPress How to sort posts by post expiration date in WordPress Apr 19, 2025 pm 11:48 PM

In the past, we have shared how to use the PostExpirator plugin to expire posts in WordPress. Well, when creating the activity list website, we found this plugin to be very useful. We can easily delete expired activity lists. Secondly, thanks to this plugin, it is also very easy to sort posts by post expiration date. In this article, we will show you how to sort posts by post expiration date in WordPress. Updated code to reflect changes in the plugin to change the custom field name. Thanks Tajim for letting us know in the comments. In our specific project, we use events as custom post types. Now

How to display query count and page loading time in WordPress How to display query count and page loading time in WordPress Apr 19, 2025 pm 11:51 PM

One of our users asked other websites how to display the number of queries and page loading time in the footer. You often see this in the footer of your website, and it may display something like: "64 queries in 1.248 seconds". In this article, we will show you how to display the number of queries and page loading time in WordPress. Just paste the following code anywhere you like in the theme file (e.g. footer.php). queriesin

How to adjust the wordpress article list How to adjust the wordpress article list Apr 20, 2025 am 10:48 AM

There are four ways to adjust the WordPress article list: use theme options, use plugins (such as Post Types Order, WP Post List, Boxy Stuff), use code (add settings in the functions.php file), or modify the WordPress database directly.

What is the WordPress good for? What is the WordPress good for? Apr 07, 2025 am 12:06 AM

WordPressisgoodforvirtuallyanywebprojectduetoitsversatilityasaCMS.Itexcelsin:1)user-friendliness,allowingeasywebsitesetup;2)flexibilityandcustomizationwithnumerousthemesandplugins;3)SEOoptimization;and4)strongcommunitysupport,thoughusersmustmanageper

See all articles