I try to put data into WordPress cache and get it after reload page.
I test my code and find out that data added to cache currently but after I reload page this cache is empty and wp_cache_get
method return false.
How can i fix this?
<?php
$cache_name = 'products';
$wp_cache_get_products = wp_cache_get($cache_name);
var_dump($wp_cache_get_products);
if ($wp_cache_get_products == false) {
$args = [
'post_type' => 'product',
'post_status' => 'publish',
'nopaging' => true
];
$product_list = new WP_Query($args);
$posts = $product_list->get_posts();
foreach ($posts as $post) {
$output[] = [
'id' => $post->ID,
'value' => $post->post_title,
'url' => get_permalink($post->ID),
'image' => get_the_post_thumbnail_url($post->ID)
];
}
var_dump($output);
wp_cache_set($cache_name, $output);
}
//echo json_encode($output);
var_dump(wp_cache_get($cache_name));
?>