web-dev-qa-db-fra.com

Obtenir la valeur du délai d'attente d'un transitoire enregistré?

Est-ce que quelqu'un sait s'il existe une fonction Wordpress pour obtenir la valeur de délai d'attente d'un transitoire enregistré? J'utilise un transitoire avec un délai d'expiration de 5 minutes pour mettre en cache localement les données d'un appel d'API Web. Entre les délais d'attente transitoires, je charge les données localement à partir du transitoire faisant office de cache et de limitation des API secondaires. Ce que je voudrais faire, c'est lire et afficher la valeur de délai d'attente des données transitoires actuellement sauvegardées afin que l'utilisateur sache combien de temps il doit attendre avant la prochaine actualisation des données. La valeur est stockée dans la table 'wp_options' sous le nom '_transient_timeout_transient-name', donc je suppose que je pourrais utiliser l'objet global $ wpdb et faire une requête SQL, mais je voulais m'assurer qu'il n'y avait pas de manière plus élégante.

2

Donc, après une minute de réflexion, il existe une solution simple, bien que je ne l’aie pas essayée moi-même:

$transient = '_transient_timeout_' . $_your_transient_name;
$transient_timeout = get_option ( $transient );

vous devriez être prêt à aller avec cela.

Une autre façon de parcourir la base de données serait:

$transient = '_transient_timeout_' . $_your_transient_name;

global $wpdb;

$query = 'SELECT option_value FROM ' . $wpdb->prefix . 'options WHERE option_name = ' . $transient;

$transient_timeout = $wpdb->get_var( $wpdb->prepare( $query ) );

la valeur renvoyée est un horodatage, mais je suis sûr que vous savez comment vous en occuper à partir d'ici.

2
fischi