Papertrail ile gerçek zamanlı olarak WordPress sitenize casusluk

WordPress’imi doğrudan geliştirmenin ve WordPress’in yürütülmesini izlemek için Xdebug’u kullanmanın büyük bir hayranıyım. Ancak, bazen sitenizdeki belirli kancalar veya işlevlerle neler olduğu hakkında gerçek zamanlı verilere ihtiyacınız vardır. Son zamanlarda bunu yapan Papertrail uygulamasını keşfettim. Orada bazı benzer web uygulamaları olmasına rağmen, iki nedenden dolayı Papertrail’i seçtim: birincisi ücretsiz bir seçeneğim olması. İkinci neden, Scott Kingsley Clark’ın Papertrail için WordPress eklentisi olarak kullanımı kolay bir API istemcisi yazmasıdır.
Bu makalede, WordPress sitenizdeki hataları veya diğer olayları kaydetmek için Papertrail’i nasıl kullanacağınızı göstereceğim. Uyguladıktan sonra, belirli kancaların çalıştırıldığını, hataların veya seçtiğiniz diğer olayların ne zaman çalıştığını görebileceksiniz. İhtiyacınız olan ilk şeye başlamadan önce bir Papertrail hesabıdır. Kaydolduktan sonra hedefinizin URL’sini kopyalayın. URL’yi buradan bulabilirsiniz: https://papertrailep.com/account/destinations. Hedef kopyalandıktan sonra, WP-Config dosyanızı açın ve WP_PERPERTRAIL_DESTINATION adlı sabit bir değer olarak ayarlayın.
Ardından WP_PaperTrail eklentisini yüklemeniz ve etkinleştirmeniz gerekir. Github: https://github.com/sc0ttkclark/peterTrail’den indirebilirsiniz. Etkinliği şimdi hazırladıktan sonra kaydedin, etkinlikleri kaydetmeye başlayabilirsiniz. WP_PERPERTRAIL eklentisinin bir sınıfı vardır: “WP_PERPERTRAIL_API.” Bu sınıfın “Log” adlı bir yöntemi vardır, bu da Pealtrail’e bir etkinlik gönderme şeklinizdir. Bu işlev iki parametre alır. İlk parametre, JSON tarafından kodlanacak ve Papertail’e gönderilecek bir dizi veya nesnedir. İkinci parametre olayın adıdır. Bu parametre isteğe bağlıdır, ancak kullanmanızı şiddetle tavsiye ederim. Papertrail UI, etkinliğin adını bir bağlantıya değiştirerek aynı adı taşıyan tüm olayları kolayca görmenizi sağladı. Şimdi bu sistem için bazı kullanımları göstereceğim. Yanan kancanın bazen belirli bir atış sırasını görmek için veya tamamen çekim yapmaları için yararlı olduğunu kaydeder. Bunun için, kancanın adını ve ilk parametrenin adını göndermek için herhangi bir eylem veya filtre ile ilişkilendirebileceğim genel bir iade işlevi yaptım. Slug_log_hook işlevi ($ arg) {
if (class_exists (‘wp_papertrail_api’))))) {
Wp_papertrail_api :: log ([
‘Arg’ => $ arg
], bu filtre_saat ());
}
geri $ arg;
} Bunu, zamanı izlemek için herhangi bir eylem veya filtreyle ilişkilendirin. Bu bir filtre ile güvenli bir şekilde kullanılabilmesi için ilk argümanı döndürdüğümü unutmayın.
Takip Siparişleri Bazı kancalar özel kullanım gerektirir. Örneğin, sipariş tamamlandığında bana her woocommerce siparişini anlatacak uygulamayı ayarladım. Bunu yapmak için “wooocommerce_order_status_complete” filtresine bağlandım. add_filter (‘woocommerce_order_status_completed’, function ($ sipariş_id) {if (class_exists (‘wp_papertrail_api’)) {
WP_PERPERTRAIL_API :: log ([‘sipariş-id’ => $ sipariş_id], ‘new_order’);
}
Dönüş $ Message_id;
}); WC_API_ORDERS :: get_order () kullanarak tam siparişlerin ayrıntılarını bile gönderebilirsiniz:
add_filter (‘wooocommerce_order_status_completed’, işlev ($ sipariş_id) {
if (class_exists (‘wp_papertrail_api’))))) {
WP_PERPERTRAIL_API :: günlük (
[
‘Ayrıntılar’ => WC_API_ORDERS :: get_order ($ sipariş_id),
‘Sipariş-ID’ => $ Message_id
], ‘yeni sipariş’);
}
Dönüş $ Message_id;
}); E -posta izlemeniz, e -postanın ne zaman gönderildiğini ve kime gönderildiğini de görebilir. “WP_MAIL” filtresini kullanarak, WordPress tarafından gönderilmeye çalışan e -postanın ayrıntılarını not edin. Ayrıca, e -posta hatasını izlemek için wp_mail_failed kullanabilirsiniz.
Gönderilen e -postayı bu şekilde kaydettim:
Add_action (‘wp_mail’, işlev ($ args) {

if (class_exists (‘wp_papertrail_api’))))) {
Wp_papertrail_api :: log ([
‘to’ => $ args [‘to’],
‘Konu’ => $ args [‘konu’],
], ‘wp_mail’);
}
}); Ve bu şekilde e -posta hatasını takip ediyorum: /**
* E -posta başarısız oldu
*/
Add_action (‘wp_mail_failed’, işlev ($ error) {
if (class_exists (‘wp_papertrail_api’))))) {
WP_PERPERTRAIL_API :: Log ($ hata, ‘wp_mail_failed’);
}
}); Burada herhangi bir şey not etmek, günlük hataları için Papertrail kullanmanın başka bir örneğidir. Bu örnekte, WordPress HTTP API’sını kullanarak uzun mesafeli bir API’ya ulaşma isteğini sağlayan çok basit bir işlev yapıyorum. İstek hatayı döndürürse işlev istisnayı atar. Aşağıdaki uygulamada, istisna hatalarla yakalandı ve URL Papertrail’e gönderildi: slug_make_request ($ API) işlevi {
$ r = wp_remote_request ($ fire);
if (is_wp_error ($ r)) {
yeni istisnalar atma ($ r-> get_error_message ());
}
geri wp_remote_retrieve_body ($ r);
}
denemek {
$ url = ‘http://somurl.com/wp-json’;
$ tepkisi = slug_make_request ($ url);
} Catch (istisna $ e) {
if (class_exists (‘wp_papertrail_api’))))) {
Wp_papertrail_api :: log ([
‘hata’ => $ e-> getMessage (),
‘Url’ => $ url
], ‘fir_request_failed’);
}
} Bunlar, Papertrail’i kullanarak giriş yapabileceğiniz birkaç şeydir. Dışarı çıkıp kendinizden daha fazlasını bulmaktan çekinmeyin. Çok sık kullanmamaya ve verilere yakalanmamaya dikkat edin.

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir