WordPress.org

Make WordPress Core

Ticket #10788: 10788-transient-filters.patch

File 10788-transient-filters.patch, 1.8 KB (added by nacin, 8 years ago)
  • functions.php

     
    658658        global $_wp_using_ext_object_cache, $wpdb;
    659659
    660660        if ( $_wp_using_ext_object_cache ) {
    661                 return wp_cache_delete($transient, 'transient');
     661                $value = wp_cache_delete($transient, 'transient');
    662662        } else {
    663663                $transient = '_transient_' . esc_sql($transient);
    664                 return delete_option($transient);
     664                $value = delete_option($transient);
    665665        }
     666
     667        return apply_filters('delete_transient_' . $transient, $value);
    666668}
    667669
    668670/**
     
    688690        if ( $_wp_using_ext_object_cache ) {
    689691                $value = wp_cache_get($transient, 'transient');
    690692        } else {
    691                 $transient_option = '_transient_' . esc_sql($transient);
     693                $safe_transient = esc_sql($transient);
     694                $transient_option = '_transient_' . $safe_transient;
    692695                // If option is not in alloptions, it is not autoloaded and thus has a timeout
    693696                $alloptions = wp_load_alloptions();
    694697                if ( !isset( $alloptions[$transient_option] ) ) {
    695                         $transient_timeout = '_transient_timeout_' . esc_sql($transient);
     698                        $transient_timeout = '_transient_timeout_' . $safe_transient;
    696699                        if ( get_option($transient_timeout) < time() ) {
    697700                                delete_option($transient_option);
    698701                                delete_option($transient_timeout);
     
    736739                                $autoload = 'no';
    737740                                add_option($transient_timeout, time() + $expiration, '', 'no');
    738741                        }
    739                         return add_option($transient, $value, '', $autoload);
     742                        $value = add_option($transient, $value, '', $autoload);
    740743                } else {
    741744                        if ( 0 != $expiration )
    742745                                update_option($transient_timeout, time() + $expiration);
    743                         return update_option($transient, $value);
     746                        $value = update_option($transient, $value);
    744747                }
    745748        }
     749
     750        return apply_filters('set_transient_' . $transient, $value);
    746751}
    747752
    748753/**