Make WordPress Core

Ticket #22807: option.diff

File option.diff, 1.3 KB (added by shahpranaf, 12 years ago)

Patch for Updating a non-expiring transient with a new expiry date

  • src/wp-includes/option.php

     
    494494        } else {
    495495                $transient_timeout = '_transient_timeout_' . $transient;
    496496                $transient = '_transient_' . $transient;
    497                 if ( false === get_option( $transient ) ) {
    498                         $autoload = 'yes';
    499                         if ( $expiration ) {
    500                                 $autoload = 'no';
    501                                 add_option( $transient_timeout, time() + $expiration, '', 'no' );
    502                         }
    503                         $result = add_option( $transient, $value, '', $autoload );
    504                 } else {
    505                         if ( $expiration )
    506                                 update_option( $transient_timeout, time() + $expiration );
    507                         $result = update_option( $transient, $value );
    508                 }
     497                $autoload = 'yes';
     498               
     499                if ( false != get_option( $transient ) ) {
     500                        delete_option( $transient );
     501                        delete_option( $transient_timeout );                   
     502                }
     503               
     504                if ( $expiration ) {
     505                        $autoload = 'no';
     506                        add_option( $transient_timeout, time() + $expiration, '', 'no' );
     507                }
     508               
     509                $result = add_option( $transient, $value, '', $autoload );
    509510        }
    510511        if ( $result ) {
    511512                do_action( 'set_transient_' . $transient, $value, $expiration );