L'API Transients de WordPress est prise en charge depuis la version 2.8, mais de nombreux développeurs WordPress ignorent toujours son existence et son objectif. En bref, l'API WordPress Transients nous permet de stocker des données de paire de valeurs clés avec des temps d'expiration.
Ce tutoriel expliquera en profondeur comment utiliser cette API. Nous apprendrons également en quoi il diffère de l'API d'options, comment il interagit avec le système de mise en cache WordPress et certains cas d'utilisation.
### Comparaison des options API et transitoires API
La plupart des développeurs WordPress comprennent l'API des options WordPress. L'API Options nous permet de stocker en permanence les données de paire de valeurs clés dans la base de données. Ce que de nombreux développeurs WordPress ne réalisent pas, c'est que l'API d'options implémente une couche de mise en cache (c'est-à-dire le cache d'objet WordPress) pour cache. Si la mise en cache persistante n'est pas activée, une nouvelle session de cache est créée pour chaque demande HTTP, sinon l'API Options utilisera la mise en cache persistante.
Presque chaque API WordPress utilise le cache d'objet WordPress pour interagir avec MySQL pour mettre en cache les données pour empêcher plusieurs requêtes MySQL.
L'API transitoires fonctionne légèrement différemment de toutes les autres API. Il stocke les données de paire de valeurs clés dans MySQL uniquement si le cache persistant n'est pas activé, sinon il n'utilise que le cache d'objet. Et toutes les autres API utilisent les deux pour synchroniser les données pour assurer la persistance des données. Par conséquent, les transitoires ne sont pas persistants, c'est-à-dire qu'ils ne doivent pas être utilisés pour stocker des données critiques. Par conséquent, l'API transitoires est idéal pour la mise en cache des données.
Remarque: Si la mise en cache persistante n'est pas activée, l'API Transients utilise l'API Options pour stocker les données de paire de valeurs de clé, sinon elle utilise directement le cache d'objet. Les transitoires sont stockés dans le tableau des options. Chaque transitoire se compose de deux options, à savoir les données de paire de valeurs clés et la date d'expiration de la paire de valeurs clés.
Pour définir Transient, nous devons utiliser la fonction set_transient()
. Cette fonction prend trois paramètres:
Ce qui suit est un exemple de code utilisant la fonction set_transient()
:
set_transient("Website", "SitePoint", 3600);
Ici, nous stockons la clé nommée "Site Web" avec la valeur avec la valeur "SitePoint" pendant 1 heure. Après 1 heure, cette clé ne sera plus accessible.
set_transient
Renvoie True si le transitoire est créé avec succès, sinon renvoyez false.
Si vous ne fournissez pas de temps d'expiration ou ne fournissez pas "0" en tant que temps d'expiration, il n'expirera jamais transitoire.
Remarque: Si le temps d'expiration n'est pas fourni ou si le temps d'expiration est "0", les transitoires seront chargés automatiquement (c'est-à-dire qu'il sera chargé en mémoire lorsque la page sera demandée).
L'API transitoires fournit également une autre fonction pour créer des transitoires, c'est-à-dire set_site_transient
. Il prend également les trois mêmes paramètres que set_transient
. La plupart des fonctions sont les mêmes entre elles. La différence entre set_transient
et set_site_transient
est:
set_site_transient
est utilisé dans un réseau multi-sites, le transitoire peut être utilisé pour tous les sites du réseau. set_site_transient
sont toujours chargés automatiquement quel que soit le temps d'expiration. Enfin, si vous exécutez set_transient
de la clé transitoire existante, la valeur et le temps d'expiration seront mis à jour à la valeur nouvellement fournie et au temps d'expiration. Le temps d'expiration est calculé à partir du premier transitoire.
Pour récupérer le transitoire stocké, vous devez utiliser la fonction get_transient
. Il n'accepte qu'un seul paramètre, à savoir le nom de transitoire.
set_transient("Website", "SitePoint", 3600);
Si Transient a expiré ou n'existe pas, get_transient
renvoie false. Sinon, il renvoie la valeur du transitoire.
Si le transitoire a expiré ou non trouvé, false est renvoyé, vous ne devez donc jamais stocker les valeurs booléennes en transitoire. Si vous souhaitez stocker des valeurs booléennes, utilisez une forme entière, c'est-à-dire 0 ou 1.
Si vous avez déjà défini transitoire avec set_site_transient
, utilisez get_site_transient
pour le récupérer, pas get_transient
.
Pour supprimer transitoire, vous devez utiliser la fonction delete_transient
. Il n'accepte qu'un seul paramètre, à savoir le nom de transitoire.
Ceci est un exemple:
$value = get_transient("Website"); if($value === false) { echo "Expired or not found"; }
Retour True si Transient est supprimé avec succès. Si le transitoire n'est pas trouvé ou si le transitoire ne peut pas être supprimé pour d'autres raisons, FALS est renvoyé.
Si vous avez déjà défini transitoire avec set_site_transient
, utilisez delete_site_transient
pour le supprimer, pas delete_transient
.
L'API transitoires peut être utilisée pour tout cacher. La plupart des plugins utilisent cette API pour mettre en cache les données. Pour illustrer, voyons comment récupérer et mettre en cache des articles dans les catégories.
delete_transient("Website");
Ici, nous mettons en cache les articles de catégorie pendant 1 heure. Nous utilisons la classe WP_Query
pour récupérer les publications. WP_Query
est sérialisé et stocké comme transitoire. Lorsqu'il est récupéré, il est désérialisé.
Cet article montre comment nous pouvons facilement mettre en cache les données dans WordPress à l'aide de l'API Transients.
Vous pouvez activer la mise en cache persistante dans WordPress à l'aide du cache d'objet Memcached ou du plugin WP Redis.
Veuillez me dire votre expérience en utilisant cette API dans les commentaires ci-dessous.
L'objectif principal de l'utilisation de l'API WordPress Transients est de stocker des données temporaires, ce qui aide à accélérer les sites Web WordPress. Il permet aux développeurs de stocker des données avec un temps d'expiration. Ces données peuvent être n'importe quoi, des résultats de la requête de la base de données complexes aux valeurs de chaîne simples. En stockant ces données, votre site Web WordPress peut rapidement les récupérer sans les régénérer à chaque fois, en améliorant les performances de votre site Web.
L'API WordPress Transients améliore les performances du site Web en réduisant le nombre de requêtes de base de données. Lorsque vous utilisez l'API Transients pour stocker les données, il peut être récupéré rapidement à partir du cache sans effectuer de nouvelles requêtes de base de données. Cela réduit considérablement la charge sur le serveur et accélère le temps de chargement de la page, offrant ainsi une meilleure expérience utilisateur.
Non, l'API WordPress Transients n'est pas conçu pour le stockage permanent de données. Les données stockées à l'aide de l'API transitoires sont temporaires et ont un temps d'expiration. Une fois les données expirées, elles seront automatiquement supprimées du cache. Si vous devez stocker des données en permanence, vous devez utiliser une autre API WordPress, telle que l'API Options.
Vous pouvez utiliser la fonction delete_transient
pour supprimer transitoire dans WordPress. Cette fonction prend le nom de transitoire comme paramètre. Voici un exemple:
delete_transient( 'my_transient' );
Dans cet exemple, "my_transient" est le nom du transitoire à supprimer.
Si vous essayez de récupérer un transitoire expiré, l'API WordPress Transients Renvoie False. En effet, les données seront automatiquement supprimées du cache une fois qu'elles expireront. Vous devez toujours vérifier si le transitoire est toujours valide avant d'essayer d'utiliser les données.
Bien que vous puissiez techniquement définir transitoire pour ne jamais expirer en lui donnant un très long temps d'expiration, cela n'est pas recommandé. Les transitoires sont utilisés pour le stockage temporaire des données, le régler pour ne jamais expirer peut provoquer une accumulation de données inutile dans le cache.
Vous pouvez gérer et supprimer les transitoires dans WordPress à l'aide de divers plug-ins tels que Transient Manager, WP-Optimize et Transients Manager. Ces plugins fournissent une interface conviviale pour afficher, supprimer et gérer tous les transitoires.
Oui, vous pouvez utiliser l'API WordPress Transients dans une installation multi-sites. Cependant, vous devez utiliser les fonctions set_site_transient
et get_site_transient
au lieu de set_transient
et get_transient
. Ces fonctions peuvent être utilisées dans tout le réseau de sites.
Les transitoires et les cookies utilisent différemment. Le transitoire est utilisé pour stocker des données temporaires du côté serveur pour améliorer les performances du site. D'un autre côté, les cookies sont utilisés pour stocker des données du côté du client et sont généralement utilisés pour se souvenir des préférences et des sessions des utilisateurs.
Oui, vous pouvez utiliser l'API WordPress Transients pour stocker des tableaux ou des objets. L'API sérialise automatiquement ces types de données pour vous, vous pouvez donc les stocker sous forme de transitoires et les récupérer plus tard sans aucun problème.
Cette sortie révisée maintient la signification d'origine tout en utilisant différentes structures de libellé et de phrases.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!