WordPress transient non utilizza il transient
26 ago 2020, 23:21:40
Visualizzazioni: 187
Voti: 1
Sono nuovo ai transient ma penso di aver capito la logica che c'è dietro.
Ho un blog e recupero i post tramite API da un altro mio blog.
Ora vorrei salvare i dati in un transient per evitare di fare una richiesta ogni volta che visito la pagina.
Ecco il mio codice:
if (false === ($posts === get_transient('posts_array'))) {
$response = wp_remote_get( 'https://website.com/blog/wp-json/wp/v2/posts?per_page=5&_embed' );
// Esci se c'è un errore
if ( is_wp_error( $response ) ) {
return;
}
$posts[] = json_decode( wp_remote_retrieve_body( $response ) );
set_transient('posts_array', $posts, DAY_IN_SECONDS);
}
Per qualche motivo il mio WordPress non sembra recuperare i transient e continua sempre a fare la richiesta all'API per ottenere i $posts
. Dovrei assegnare da qualche parte $posts
con get_transient
se esiste?

loliki
185
Tutte le risposte alla domanda
1
0
Intendo dire in breve che il tuo codice è errato nella prima riga, il confronto è sbagliato. La variabile $post
dovrebbe memorizzare =
i dati della richiesta tramite get_transient()
e non confrontare ===
.
Quindi dovresti cambiare in:
if ( false === ( $posts = get_transient('posts_array') ) ) {
// questo codice viene eseguito quando non è impostato un transient valido
}

bueltge
17.1K
27 ago 2020 10:31:16
Domande correlate