El transient de WordPress no utiliza el transient
26 ago 2020, 23:21:40
Vistas: 187
Votos: 1
Soy nuevo en los transients pero creo que entiendo la lógica detrás de ellos.
Tengo un blog y obtengo las publicaciones a través de la API desde otro blog mío.
Ahora me gustaría guardar los datos en un transient para no hacer una solicitud cada vez que visite la página.
Aquí está mi código:
if (false === ($posts === get_transient('posts_array'))) {
$response = wp_remote_get( 'https://website.com/blog/wp-json/wp/v2/posts?per_page=5&_embed' );
// Salir si hay error.
if ( is_wp_error( $response ) ) {
return;
}
$posts[] = json_decode( wp_remote_retrieve_body( $response ) );
set_transient('posts_array', $posts, DAY_IN_SECONDS);
}
Por alguna razón, mi WordPress no obtiene los transients y parece que siempre hace la solicitud a la API para obtener los $posts
. ¿Debería asignar en algún lugar $posts
con get_transient
si existe?

loliki
185
Todas las respuestas a la pregunta
1
0
Me refiero brevemente a que tu código está mal en la primera línea, la comparación es incorrecta. La variable $post
debería almacenar =
los datos de la solicitud mediante get_transient()
y no comparar ===
.
Por lo tanto, deberías cambiarlo a:
if ( false === ( $posts = get_transient('posts_array') ) ) {
// este código se ejecuta cuando no hay un transient válido establecido
}

bueltge
17.1K
27 ago 2020 10:31:16
Preguntas relacionadas
2
respuestas
1
respuestas
2
respuestas