Great! Thanks for reaching out to them. I’m sorry you have to be the middleman but here’s some info that should help them. If you right click the little timestamp in the upper right corner of this reply you can copy the link address directly to this post.
My suspicion that the object cache was failing was based on taking these steps
- Install Transient Manager
- Clicking delete on
update_themes
- Observing it didn’t actually delete. This means the theme doesn’t have a chance to repopulate it.
Take a look at this: https://www.jonathan-sainsbury.com/themeco-test.php
It simulates the network request from the site to our validation API. If you look at the code you can see that it takes the stored license key and makes a simple GET request using the WordPress wp_remote_get function. Notice that the output is correct and it is in fact able to retrieve updated theme information.
Here’s the code for reference:
<?php
require( dirname( __FILE__ ) . '/wp-load.php' );
echo '<pre>';
$license_key = get_option( 'x_product_validation_key', '' );
var_dump("License Found");
if ( $license_key ) {
$uri = add_query_arg( array(
'siteurl' => urlencode( home_url() ),
), 'https://theme.co/apex/api-v2/packages/' . trailingslashit( $license_key ) );
$request = wp_remote_get( $uri, array( 'timeout' => 15 ) );
var_dump($request['body'] ? $request['body'] : $request);
}
echo '</pre>';
Because we have this connectivity, it still looks like something isn’t quite right with transients. I’ve tested these steps on another site:
- Start with site not validated
- View
update_themes
transient. X does not supply a package.
- Validate site
- Delete
update_themes
transient.
- View
update_themes
transient. It will repopulate and now includes the X update package.
On this site we’re already validated (the license key is stored in the site) but it never allows the site to clear the update transient.