Je suis un grand fan du développement en temps réel de WordPress et de l’utilisation de Xdebug pour suivre l’exécution de WordPress. Mais parfois, avez besoin de données en temps réel sur certains crochets ou fonctionnalités sur votre site. Jrsquoai récemment découvert lrsquoapplication paperrail, et crsquoest ce qursquoelle fait. Bien qursquoil y ait plusieurs applications Web similaires, jrsquoa i choisi paperrail pour deux raisons: la première est qursquoil a une option gratuite. La deuxième raison est que Scott Kingsley Clark a écrit un client API facile à utiliser pour paperrail comme plug in WordPress. Dans je vais montrer comment utiliser paperrail pour enregistrer des erreurs ou d’autres événements sur le site WordPress. Une fois mis en œuvre, pourrez voir quand certains crochets sont exécutés, quand des erreurs sont créées ou quand drsquoautres événements de votre choix se produisent.
La première chose dont avez besoin avant de commencer est un compte paperrail. Après lrsquoinscription, copiez lrsquoURL de la destination. Vous pouvez trouver lrsquoURL ici: https:papertrailapp.comaccountdestinations. Après avoir copié la cible, allez dans le fichier de configuration WP et définissez la à une valeur constante appelée WP _ papertrail destination. Vous devez ensuite installer et activer le plug in WP _ papertrail. Vous pouvez à partir de github: https:github.comsc0ttkclarkpapertrail. Maintenant que êtes prêt, pouvez commencer à enregistrer les événements. Le plug in WP _ paperrail a une classe
Le premier argument est un tableau ou un objet qui est encodé json et envoyé à papermail. Le deuxième paramètre est le nom de lrsquoévénement. Ce paramètre est optionnel, mais je le recommande fortement. Lrsquointerface utilisateur de paperrail convertit les noms drsquoévénements en liens, permettant de visualiser facilement tous les événements avec le même nom. Afficher l lsquoheure
Je vais utiliser ce système. Lorsque enregistrez lrsquoactivation des crochets, pouvez parfois voir lrsquoordre drsquoactivation de certains crochets ou srsquoils sont entièrement activés. Pour ce faire, jrsquoa i créé une fonction de rappel générique qui peut être attachée à nrsquoimporte quelle action ou filtre pour envoyer un nom de crochet et son premier argument.
Fonction Slug _ log Hook ($ARG) {
(Class _ present (lsquoWP paperrail APIrsquo) {
Wp u paperrail u API:: Log ([]
), filtro _ corrente ()
}
Renvoie $ARG
} Il suffit de le connecter à nrsquoimporte quelle action ou filtre pour suivre le temps drsquoexécution. Notez que je retourne le premier paramètre afin qursquoil puisse être utilisé en toute sécurité avec le filtre. Le suivi des commandes nécessite un traitement spécial pour certains crochets. Par exemple, jrsquoai défini lrsquoapplication pour me dire lrsquoid de chaque commande woocommerce lorsque la commande est terminée. Pour ce faire, jrsquoai connecté le filtre
Ajouter un filtre (lsquowoocomberce _ Order Status completedrsquo, fonction ($Order ID) {
(Class _ present (lsquoWP paperrail APIrsquo) {
WP _ paperrail API:: Log ([lsquoOrder idrsquo = gt $Order ID], lsquoNew Orderrsquo)
}
Renvoie $Order _ ID
}) Vous pouvez également soumettre les détails complets de la commande en utilisant lrsquoAPI WC _ Orders:: get Order () comme suit: Add filter (lsquowoocomberce Order Status completedrsquo, Function ($Order ID) {
(Class _ present (lsquoWP paperrail APIrsquo) {
Wp u paperrail u API:: log
[2]
« détails» = gt WC u API u Order:: get Order ($Order u ID),
, « nouvel ordre»
}
Renvoie $Order _ ID
}) Vous pouvez également voir lrsquoheure drsquoenvoi et lrsquoobjet du courriel. En utilisant le filtre
Crsquoest ce que dit le réalisateur.
Courriel de RO:
Ajouter _ action (lsquoWP mailrsquo, fonction ($args) {
(Class _ present (lsquoWP paperrail APIrsquo) {
Wp u paperrail u API:: Log ([]
lsquotorsquo = gt $args [lsquotorsquo],
« topic» = gt $Parameter [« topic»],
,
}
}) Voici comment jrsquoai suivi les erreurs de courriel:
Échec de lrsquoinscription au courriel
*
Ajouter _ action (lsquoWP mail failedrsquo, fonction ($error) {
(Class _ present (lsquoWP paperrail APIrsquo) {
WP _ paperrail API:: Log ($error,
}
}) Voici un autre exemple drsquoutilisation de paperrail pour enregistrer les erreurs. Dans cet exemple, j’ai créé une fonction très simple qui utilise l’api http wordpress pour envoyer une requête get à l’api distante. la requête renvoie une erreur, cette fonction génère une exception. Dans lrsquoimplémentation suivante, cette exception est détectée et lrsquoerreur et lrsquoURL sont envoyées à paperrail:
Fonction Slug _ make request ($API) {
$r = wp u Remote u request ($API)
(IS u wp u Error ($r) {
Démarrer une nouvelle exception ($R gt get _ error message ()
}
Renvoie WP _ Remote retrieve Body ($r)
}
Essayez {
$URL = lsquo http:somurl.comwp-json «
$reply = Slug _ make request ($URL)
Capture (exception $e) {
(Class _ present (lsquoWP paperrail APIrsquo) {
Wp u paperrail u API:: Log ([]
« erreur» = gt e $- gt getmessage (),
),
}
Ce ne sont que des choses que pouvez enregistrer avec paperrail. Sortez librement et trouvez ce qui appartient. Il faut juste veiller à ne pas lrsquoabuser et à ne pas se laisser piéger par les données.
Start Registration paperrail est une application très utile et très facile à utiliser. La capacité de regarder des sites en temps réel pour effectuer diverses tâches mrsquoa beaucoup aidé. Il est particulièrement utile pour regarder
Tâches de fond effectuées sur WP Cron. Jrsquoespère qursquoen lisant avez trouvé le but du système drsquoinscription en temps réel et que pouvez lrsquoutiliser sur votre site Web. Pour lrsquoinstant, crsquoest le meilleur choix. Dans une note similaire, j’ai récemment assisté à une réunion de la wpcampus de Roy van qui a montré comment créer des applications en temps réel en utilisant WordPress et firebase. Vous pouvez voir ses diapositives ici et regarder la vidéo du discours. Crsquoest aussi le sujet dont avez discuté à Torque. Cela mrsquoamène à envisager sérieusement la création drsquoun système similaire. Jusqursquoà présent, jrsquoai résisté à la tentation, mais qui sait?