WordPress transient nu utilizează transient-ul
26 aug. 2020, 23:21:40
Vizualizări: 187
Voturi: 1
Sunt nou în utilizarea transientelor, dar cred că înțeleg logica din spatele lor.
Am un blog și preiau articolele prin API de la un alt blog de-al meu.
Acum aș dori să salvez datele într-un transient pentru a nu face o cerere de fiecare dată când vizitez pagina.
Iată codul meu:
if (false === ($posts === get_transient('posts_array'))) {
$response = wp_remote_get( 'https://website.com/blog/wp-json/wp/v2/posts?per_page=5&_embed' );
// Ieși dacă apare o eroare.
if ( is_wp_error( $response ) ) {
return;
}
$posts[] = json_decode( wp_remote_retrieve_body( $response ) );
set_transient('posts_array', $posts, DAY_IN_SECONDS);
}
Din anumite motive, WordPress nu preia transient-ul și se pare că face întotdeauna o cerere către API pentru a obține $posts
. Ar trebui să atribui undeva $posts
cu get_transient
dacă acesta există?

loliki
185
Toate răspunsurile la întrebare
1
0
Vreau să spun pe scurt că codul tău este greșit în prima linie, comparația este incorectă. Variabila $post
ar trebui să stocheze =
datele cererii prin intermediul get_transient()
și nu să compare ===
.
Deci ar trebui să schimbi în:
if ( false === ( $posts = get_transient('posts_array') ) ) {
// acest cod rulează atunci când nu există un transient valid setat
}

bueltge
17.1K
27 aug. 2020 10:31:16
Întrebări similare
2
răspunsuri
1
răspunsuri