
WordPress Transients, when, where and how to use them
- June 30, 2020
- Leave a comment
Are you looking to temporarily store cached data with WordPress transients APIs? WordPress transients are easily available and convenient solutions to store or display data for a specific time period. The best thing is that they clean up themselves and the data disappears after a certain period of time.
If you think that WordPress transients are the right solution for you, go on and read how and when to use them.
Get to know WordPress transients
Transients can be perceived differently depending on the field. For example, in electrical engineering, transients (oscillation) are termed as a sudden change of state that causes a short-lived energy burst. In acoustics/audio, they are termed as a short-duration sound which is at the beginning of waveform. It is interesting to know that transients are found in various musical sounds.
What is common among all definitions is that they always describe a short-termed or short-lived phenomenon as transients.
WordPress Transients are also short-termed values. You can save them in the database with an expiration time, and after designated time they get deleted. We are going to discuss the ‘When’, ‘Where’, and ‘How’ aspects of using transient APIs.
What is the deal with the popularity of WordPress Transients?
WordPress website building is quite popular among developers nowadays, as it provides lots of features and the freedom to add multiple options. Options API is also among those wonderful APIs that WordPress provides us. It allows you to store anything in the WordPress database especially in the wp-options table. You can simply compose the whole thing by adding a name and value. It enables you to store Google Maps API key or even a simple thing like HTML of your sidebar.
The possibilities with options API are numerous, to say the least. What can we say? We are true fans, as it allows us to do so much. Transients are also available in the wp-options table. The unique and appealing feature is the addition of an “expiry date.” Not to talk about God complex. Who wouldn’t like to control Time? Transients simply allow you to exercise that control staying within WordPress territory.
Know that once you’ve added a specific time to the transient or information in the database. It will get deleted on its own. But, only when the time is up. That’s why the term “short-termed transients” came into being.
Where do we use WordPress Transients?
If you are a developer or aspiring to be one. This one is really going to help you. So, let’s suppose that you are working on a project which has custom meta boxes in one of its post types. WordPress does not provide the functionality of previewing the custom meta boxes by default, and you have to do that all by yourself.
In that case, you will have to get the values of custom meta boxes and temporarily store them in the database. Only after doing this, later on, you can display them on the front-end by getting values from those temporary fields.
Here transients come to save the day, as they can hold those temporary fields’ values, and then they will be deleted after the specified. You can save the database’s wp_options table from getting crowded in vain. It allows you to write simple logic to retrieve the only values of those fields for the display. So to sum it all up, we can say that the next time you need to store something in the database(temporarily), transients are the goto solution.
Moreover, transients can be used while storing cache for applications, which makes it easier and after to develop applications. Transients can provide the functionality to use cash payback vouchers/discount tokens. Because you can set them up for a specific time and after that, the token gets expired. It enables you to generate secure and easy coupons and tokens, and simply retrieve them at your own will.
How do we use WordPress Transients?
Without any delay, let’s get to work. Here’s how you can use transient. We have tried to make it more understandable and easy for you by adding its standard functions and examples.
The code belong to codex.wordpress and you can get more details about transients from their website. SO lets quickly go over the technicalities.
Basic Information
There are three basic functions of transients that are get, set, and delete. These are used for single-sites and they have multi-site variants with keyword sites in them, e.g. set_site_transient. Now we will look into these functions below and see how to use them.
Setting Transients
The function set_transient() will be used to set the transient. It will take three parameters which are
-
name – string (required)
-
value – string/array (required)
-
expiration – int (optional)
1 2 |
set_transient( 'my_transient', 'I am Pretty Well', 28800 ); // Site Transient set_site_transient( 'my_mood', 'I am Pretty Well', 28800 ); // Multisite Transient |
The above inputs come in handy when you are going to use transients that enable you to set and describe the time in seconds.
Getting Transients
This is a simple function which will get the value of transient, if it is not expired and return it. It only includes one parameter which is:
-
name – string (required)
1 2 3 |
$my_transient = get_transient( 'my_transient' ); // Site Transient $my_transient = get_site_transient( 'my_transient' ); // Multisite Transient |
If the transient does not exist or is expired then this will return false in $my_transient variable.
Deleting Transients
If you need to manually delete the transients then this function will help you out. This simple function includes one simple parameter.
-
name – string (required)
1 2 3 |
delete_transient( 'my_transient' ); // Site Transient delete_site_transient( 'my_transient' ); // Multisite Transient |
It returns true once transient is successfully deleted.
Put WordPress Transients to Action
This information shall serve as a guideline to use WordPress transients. Therefore, we are sharing an example below. For instance, if you are going to store a wp_nav_menu() into the cache. This function returns an HTML of the menu which you can add to the transient.
Getting a transient is a less costly operation then getting a menu with the passing of arrays, so you can use that to your benefit.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
function set_menu_cache( $menu_args, $transient_name ) { /** $menu_args are the arguments which will be passed into wp_nav_menu() $transient_name is the name of the transient which will be used */ $menu_transient = get_transient( $transient_name ); if ( false === $menu_transient ) { $menu_transient = wp_nav_menu( $menu_args ); set_transient( $transient_name, $menu_transient, 1 * DAY_IN_SECONDS ); } return menu_transient; } |
With this simple function, you can replace the wp_nav_menu() function with this cached output. You have to pass arguments of wp_nav_menu into this and the name of the transient you wish to use. Voila, you are good to go and continue with it.
Final thoughts on WP Transients
After reading this instruction about transients, you will have an idea about the usefulness of these incredible WP plugins and APIs. These are great if one is looking to store data for the short term in the wp_options table. You can use them for various purposes which can include caching as well.
Remember and make sure the data you are putting in transients can be easily generated again as they are mainly used for holding data temporarily. Also, you should be absolutely sure about what you should put into the transients.
If you have any confusion about the integration of these APIs or Plugin installation. We would be delighted to help you with it. Talk to us at Presstigers!
We hope this article was helpful. Happy Coding.
Written By: Awais Khan
User Comments