Soy un gran admirador del desarrollo en vivo de WordPress y el uso de xdebug para rastrear la ejecución de WordPress. Pero a veces necesita datos en tiempo real sobre lo que sucede con ciertos ganchos o funciones en su sitio. Recientemente descubrí la aplicación PaperTrail que lo hace exactamente. Aunque hay varias aplicaciones web similares, hemos elegido PaperTrail por dos razones: la primera es porque tiene una opción gratuita. La segunda razón es que Scott Kingsley Clark escribió un cliente de API fácil de usar como un complemento WordPress. En este artículo, le mostraré cómo usar PaperTrail para grabar errores u otros eventos en su sitio web de WordPress. Una vez implementado, podrá ver cuándo se realizan ciertos ganchos, cuándo se crean errores u otros eventos que elija.
Antes de comenzar, lo primero que necesita es una cuenta de PaperTrail. Después de que se haya registrado, copie la URL de su destino. Puede encontrar esa URL aquí: https://paprailapp.com/account/destinations. Una vez que haya copiado el destino, acceda al archivo WP-Config y configúrelo como un valor de una constante llamada WP_PaperTrail_Destination. Luego debe instalar y activar el complemento WP_PaperTrail. Puede descargarlo de GitHub: https://github.com/sc0ttkclark/papertrail. Registro de eventos Ahora que está configurado, puede comenzar a registrar eventos. El complemento WP_PaperTrail tiene una clase, “WP_PaperTrail_api”. Esta clase tiene un método llamado “Journal”, que es la forma en que envía eventos a PaperTrail. Esta función acepta dos parámetros.
El primer parámetro es una matriz o un objeto, que se codificará a JSON y se enviará al Papertail. El segundo parámetro es el nombre del evento. Este parámetro es opcional, pero recomiendo usarlo. La interfaz de uso de PaperTrail transforma los nombres de los eventos en los enlaces, lo que le permite ver fácilmente todos los eventos del mismo nombre. Ahora mostraré algunos usos para este sistema. Grabe cuando un gancho a veces es útil para ver el orden de dibujar ciertos ganchos o si se tiran en absoluto. Para esto, hemos creado una función genérica de llamada inversa que puedo conectar a cualquier acción o filtro para enviar el gancho de nombre y su primer parámetro. Slug_log_hook ($ arg) {
If (class_exists (‘wp_papertrail_pi’)) {
Wp_papertrail_api :: log ([
‘arg’ => $ arg
], current_filter ());
}
devuelve $ arg;
} Conéctelo a cualquier acción o filtro para rastrear el tiempo que ejecutan. Tenga en cuenta que devuelvo el primer argumento para que pueda usarse de manera segura con filtros. Comandos de seguimiento Algunos ganchos requieren una manipulación especial. Por ejemplo, configuré la aplicación para decirme la ID de cada comando de WooCommerce cuando se completa el pedido. Para hacer esto, me conecté al filtro “wooCommerce_order_status_complete”.
add_filter (‘wooCommerce_order_status_completed’, function ($ orden_id) {
If (class_exists (‘wp_papertrail_pi’)) {
Wp_papertrail_api :: log ([‘orden -id’ => $ orden_id], ‘new_order’);
}
Devuelve $ id_comand;
}); Incluso puede enviar los detalles completos del pedido usando wc_pi_orders :: get_order (), como sigue: add_filter (‘wooCommerce_order_status_completed’, function ($ orden_id) {if (class_exists (‘wp_papertra_pi’)) {
Wp_papertrail_api :: log (
[
‘Detalles’ => wc_pi_orders :: get_order ($ orden_id),
‘Order -id’ => $ Order_id
], ‘Nuevo orden’ );
}
Devuelve $ id_comand;
}); Siguiendo los correos electrónicos también, puede ver cuándo se envían los correos electrónicos y a quién se envían. Usando el filtro “wp_mail”, registre los detalles en los correos electrónicos que WordPress está intentando enviar. Además, puede usar wp_mail_failed para rastrear los errores de correo electrónico.
Así es como registro los correos electrónicos enviados:
add_action (‘wp_mail’, function ($ args) {

If (class_exists (‘wp_papertrail_pi’)) {
Wp_papertrail_api :: log ([
‘a’ => $ args [‘a’],
‘Sujeto’ => $ args [‘sujeto’],
], ‘wp_mail’);
}
}); Y así es como siguen las fallas del correo electrónico: /**
* El correo electrónico del diario falla
*/
add_action (‘wp_mail_failed’, function ($ error) {
If (class_exists (‘wp_papertrail_pi’)) {
Wp_papertrail_api :: log ($ error, ‘wp_mail_failed’);
}
}); Registra a cualquiera más aquí hay un ejemplo de uso de Paperrail para errores de registro. En este ejemplo, hemos creado una función muy simple que hace una solicitud GET a una API remota utilizando la API HTTP WordPress. Esta característica lanza una excepción si la solicitud devuelve un error. En la implementación a continuación, esa excepción se atrapa con el error y la URL enviada a PaperTrail:
Función SLUG_MAKE_REQUEST ($ API) {
$ r = wp_remote_request ($ api);
If (is_wp_error ($ r)) {arrojar una nueva excepción ($ r-> get_error_message ());
}
return wp_remote_rethrieve_body ($ r);
}
probar {
$ url = ‘http://somurl.com/wp-json’;
$ respuesta = slug_make_request ($ url);
} captura (excepción $ e) {
If (class_exists (‘wp_papertrail_pi’)) {
Wp_papertrail_api :: log ([
‘Error’ => $ e-> getMesage (),
‘Url’ => $ url
], ‘api_request_failed’);
}
} Estas son solo algunas de las cosas que puede grabar usando PaperTrail. Siéntase libre de salir y encontrar algo tuyo, tenga cuidado de no usar excesivamente y quedarse atascado con los datos.
Comience a registrar PaperTrail es una aplicación extremadamente útil y muy fácil de usar. Fue muy útil para mí poder seguir un sitio en vivo realizando varias tareas. Es especialmente útil para ver tareas de fondo que se ejecutan en WP-Chron. Espero que al leer este artículo haya encontrado un cierto uso para un sistema de registro en tiempo real y pueda usarlo en su propio sitio. Por ahora, es la mejor opción allí. En una nota similar, recientemente participé en una discusión en WPCampus respaldada por Roy Sivan, mostrando cómo construir aplicaciones en tiempo real utilizando WordPress y Firebase. Puedes ver sus diapositivas aquí y ver el video de la discusión. También es un tema que abordó aquí sobre torque. Esto me hizo pensar firmemente para construir mi propio sistema similar. Hasta ahora me he resistido a la exhortación, pero quién sabe.
Diga su sitio web de WordPress en tiempo real con PaperTrail
Tags Decir sitio
homefinance blog