Transient di WordPress non usa il transiente
Aug 27 2020
Sono nuovo ai transitori ma penso di aver capito la logica dietro.
Quindi ho un blog e prendo i post tramite l'API da un altro mio blog.
Ora vorrei salvare i dati in modo transitorio in modo da non 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' );
// Exit if error.
if ( is_wp_error( $response ) ) { return; } $posts[] = json_decode( wp_remote_retrieve_body( $response ) ); set_transient('posts_array', $posts, DAY_IN_SECONDS);
}
Ora, per qualche motivo il mio WordPress non ottiene i transitori sembra che fa sempre la richiesta per l'API per ottenere la $postsdevo in qualche assegnare $postscon get_transientse esiste?
Risposte
2 bueltge Aug 27 2020 at 14:31
Voglio dire in breve il tuo codice è sbagliato nella prima riga, il confronto è sbagliato. La variabile $postdovrebbe memorizzare =i dati della richiesta tramite get_transient()e non confrontare ===.
Quindi dovresti passare a:
if ( false === ( $posts = get_transient('posts_array') ) ) {
// this code runs when there is no valid transient set
}