Cómo usar el caché con simplepie

4

De acuerdo con los documentos, si desea almacenar en caché los resultados de una búsqueda de fuentes RSS con simplepie, haga lo siguiente:

 add_filter( 'wp_feed_cache_transient_lifetime' , 'return_7200' );
 $feed = fetch_feed( $feed_url );
 remove_filter( 'wp_feed_cache_transient_lifetime' , 'return_7200' );

Mi pregunta es si quiero almacenar en caché los resultados de varias direcciones URL de alimentación (haciendo un bucle a través de una matriz), ¿realmente desearía agregar y eliminar el filtro para cada paso del bucle? el caché para cada fuente) o debo hacer esto:

add_filter( 'wp_feed_cache_transient_lifetime' , 'return_7200' );

for ($i=.......){
  $feed = fetch_feed( $feed_url );
}

 remove_filter( 'wp_feed_cache_transient_lifetime' , 'return_7200' );

Francamente (y esto podría ser obvio), estoy confundido en cuanto a cómo funciona este almacenamiento en caché, ya que todo lo que he visto son ejemplos de una sola fuente, en lugar de múltiples fuentes. Gracias.

    
pregunta Allen 24.08.2012 - 00:17

1 respuesta

3

El ejemplo que estás usando del códice lo agrega y lo elimina (probablemente no es algo que quieres hacer), y no está muy claro.

Por defecto, WordPress almacenará en caché el feed durante 12 horas usando wp_feed_cache_transient_lifetime , el código real que usa WP durante 12 horas es $lifetime = 43200

Si desea modificar el tiempo de caché globalmente para todas las fuentes simples, puede agregar un nuevo tiempo al filtro,

//change cache to 24hrs
add_filter( 'wp_feed_cache_transient_lifetime', create_function('$a', 'return 86400;') );

Si, en cambio, deseas que las fuentes específicas tengan diferentes tiempos de caché, puedes usar el parámetro $url en el filtro.

add_filter( 'wp_feed_cache_transient_lifetime', 'change_feed_speed' );

function change_feed_speed( $lifetime, $url ) {

    if( 'http://mysite.org/some-feed.rss' == $url )
        return 86400;

    return $lifetime;
}
    
respondido por el Wyck 25.08.2012 - 03:55

Lea otras preguntas en las etiquetas