I have the following transient, but if the user changes the value of $url the transient should not be used. I want to know what is the most appropriate way to use this variable with the transient. Should I save the value of $url with Options API to compare it with the new value?

if ( false === ( $videos_result = get_transient( 'html' ) )){
    //HTTP API
    $videos_result = wp_remote_get( $url );

    $response_code = wp_remote_retrieve_response_code( $videos_result );
    $response_message = wp_remote_retrieve_response_message( $videos_result );
    set_transient('html', $videos_result, HOUR_IN_SECONDS );
} else{
    $response_code = 200;

You could use a sanitized version of the URL as part of the name of the transient … but transient names are limited in their size.

I would store the transient as an array with the URL and the HTML as two parts. Then check if the URL is the same. If it is, use the HTML, else update the transient. Do not save two depended values in different places; this leads to unnecessary synchronization problems.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.