Inclure le cache API transitoires WordPress
La performance de l’ordinateur s’articule en grande partie autour de l’idée de mise en cache: « stockez quelque chose dans un état plus rapide et accédez plus rapidement », afin que vous puissiez livrer le résultat final plus rapidement. L’api transitoire WordPress est un outil de mise en cache et un moyen important d’améliorer les performances de WordPress. Prenez la vraie vie par exemple: votre placard de cuisine est un endroit caché. Il y a plusieurs boîtes de soupe dans votre armoire qui peuvent être livrées rapidement au four, ce qui signifie que vous n’avez pas à conduire au supermarché chaque fois que vous voulez de la soupe.
Pourquoi utiliser WordPress Transient pour la mise en cache dans un contexte WordPress, la mise en cache signifie généralement la mise en cache de la page complète: stockez la page complète avant d’envoyer la page complète au visiteur, puis stockez la page complète. De cette façon, le prochain visiteur qui demande la page peut obtenir la version stockée sans avoir à la reconstruire par le serveur. C’est une façon de mettre en cache de nombreux plug – ins, comme WP super cache. Dans certains cas, cela est idéal et peut avoir un impact important sur la vitesse du site.
Vous pouvez améliorer les performances en mettant en cache des éléments en dehors de la page entière, tels que des résultats lents à partir de serveurs distants tels que Facebook ou de grandes requêtes de base de données. Cependant, il y a aussi l’idée d’un cache \
Dans WordPress, la méthode de mise en cache partielle de la page (un objet de données à la fois) est:
Tori! Ces caches ou transitoires ne peuvent pas être permanentes. (les données persistantes doivent être sauvegardées dans l’api options; voir l’api Master options dans WordPress.) Lorsque nous mettons en cache des données, nous voulons définir un délai d’expiration défini pour ces données, après quoi elles disparaîtront simplement. Comment utiliser l’api transitor dans WordPress est très simple: stocker d’abord la paire nom – valeur, puis la récupérer. Définir _ Transient () Les paramètres transitoires sont les suivants:
$String = \
Get _ Transfer () Récupère les transitoires à utiliser comme suit: $Transfer String = get Transfer (‘wpshout cache me’); If (false = = $Transient _ String) {return; \/ \/ in Real Life, we want to Set \ \ u Transient ()} echo ‘
‘ . $ Chaîne transitoire»
‘; Ici, nous utilisons get _ Transient () pour récupérer un Transient existant en utilisant le nom du Transient (wpshout cache me) comme paramètre unique. Attention! Si le transitoire n’existe pas, get _ Transient () Renvoie False. Il est donc important de vérifier l’existence d’un transitoire avant de l’utiliser. Voilà nos instructions. Dans le Code réel, l’absence de Transient peut être une excuse pour utiliser set _ Transient () à nouveau, mais nous l’avons omis ici.
Si nous réussissons à récupérer les trans
Itorio, tu peux faire n’importe quoi avec. Dans ce cas, nous l’imprimons et l’encapsulons dans une étiquette
. C’est tout! Il y a aussi quatre autres fonctions: Delete _ Transient (), qui efface manuellement les transitoires du cache, et trois autres fonctions optionnelles qui peuvent être utilisées dans WordPress multisite. Mais pour ainsi dire, il y a beaucoup de choses qui peuvent vous rendre \
(Remarque: Comme il s’agit d’un plug – in destiné à nuire à la performance du site Web à des fins de démonstration, vous ne voulez pas le distribuer sur votre site Web ou sur celui de toute personne avec qui vous souhaitez entretenir de bonnes relations.) Le résultat est dans une minute et six secondes. Il faut environ 10 secondes pour charger cette page! Même résultat, 12 secondes par minute. Cette page a été téléchargée rapidement. Le résultat est dans une minute et 20 secondes. Cette page se recharge très lentement. Nous vous montrerons l’ensemble du fichier plug – in en bloc. Chaque bloc suit immédiatement le bloc précédent, donc si vous les copiez et les collez, vous aurez un plug – in de travail, mais c’est stupide et ne peut pas être distribué.
La première section effectue un grand nombre de calculs et renvoie un tableau de deux éléments: la valeur d’entrée avant le calcul et la valeur de sortie après le calcul: <?php /* Plugin Name: WPShout Cache Hard Math */ function wpshout_do_hard_math( $int ) { // $start is the starting integer $start = $int; // Insanely processing-intensive calculations $i = 0; while( $i < 100000 ) { $int = pow( sqrt( sqrt( sqrt( sqrt( $int) ) ) ), 16.0001); $i++; } // Return our array: what we started with and what resulted return array ( $start, $int ); } La prossima sezione tenta di ottenere il transitorio che è il risultato dei calcoli wpshout_do_hard_math() . Se rileva che non ci sono transitori, proverà a impostare il transitorio, quindi lo riceverà. Quindi return s il transitorio o false se l'ottenimento del transitorio non è riuscito: function wpshout_get_hard_math_transient() { // Get the transient $result = get_transient( 'hard_math' ); if ( false !== $result ) { // Transient exists, so return it return $result; } // Get array from doing "hard math" (on seconds elapsed in current minute) $mathed = wpshout_do_hard_math( date( 's' ) ); // Attempt to set transient with array results; timeout is 10 seconds $bool_response = set_transient( 'hard_math', $mathed, 10 ); if( false === $bool_response ) { // Setting the transient didn't work, so return false for failure return false; } // Transient is now set, so get it and return it return get_transient( 'hard_math' ); } Questa sezione tenta di recuperare il transitorio. Se riesce, si aggancia a the_content per stampare una stringa contenente i calcoli del transitorio nella parte superiore del contenuto del post: function wpshout_filter_content_with_hard_math_transient( $content ) { // Get the transient $result = wpshout_get_hard_math_transient(); // If transient isn't an array, just return content unaltered if ( ! is_array( $result ) ) { return $content; } // Prepend string with transient data to content and return it return '
(‘) J’ai fait des calculs très inefficaces sur ce nombre. LTrim ($result [0], \
He _ content, \