Logs veya özel günlük dosyaları, WooCommerce geliştiricileri ve mağaza yöneticileri için bir zorunluluktur. Günlük dosyaları, temel olarak , belirli günlük kaydı kriterlerine göre belirli bir mağazada gerçekleşen olayların otomatik olarak oluşturulmuş bir listesidir . Örneğin, WooCommerce sizin için WordPress kontrol panelinden kolayca erişebileceğiniz ve okuyabileceğiniz ( WooCommerce> Durum> Günlükler ) zaten bir “önemli hata” günlüğü oluşturur .
WordPress sorun giderme işlemlerine aşinaysanız , web sitesi zayıflıklarını, PHP hatalarını belirlemeye çalışırken debug.log dosyasının ne kadar önemli olduğunu bilirsiniz. Pekala, bugün size kendi günlüğünüzü nasıl oluşturacağınızı öğreteceğim , böylece WooCommerce web sitenizde gerçekleşen olayları kaydedebilir ve sorun giderme amacıyla günlükleri kolayca kontrol edebilirsiniz.
Özellikle, başarısız bir müşteri siparişi olduğunda ve yönetici tarafından yapılan her ürün fiyatı değişikliği olduğunda nasıl günlük oluşturacağınızı göstereceğim.
PHP Snippet 1: Başarısız Siparişler İçin Özel Günlük Dosya Oluşturun
Her şeyden önce bir tetikleyici belirlememiz gerekir (bir sipariş başarısız olarak işaretlendikten sonra, Teşekkürler sayfasında tetikleyen bir “kanca” seçeceğiz) ve bundan sonra günlüğü alıp başarısız sipariş ayrıntılarını wc_get_logger () WooCommerce işlevi.
/**
* @snippet Log Failed Orders @ WC Status
* @how-to Get GurmeWoo.com FREE
* @author Ahmet Kaptan
* @testedwith WooCommerce 4.4
* @donate $9 https://gurmehub.com/
*/
add_action( 'woocommerce_before_thankyou', 'gurmewoo_failed_orders_wc_status' );
function gurmewoo_failed_orders_wc_status( $order_id ) {
// GET ORDER FROM ORDER ID @ THANK YOU PAGE
$order = wc_get_order( $order_id );
// EXIT IF ORDER HAS NOT FAILED
if ( ! $order->has_status( 'failed' ) ) return;
// LOAD THE WC LOGGER
$logger = wc_get_logger();
// LOG THE FAILED ORDER TO CUSTOM "failed-orders" LOG
$logger->info( wc_print_r( $order, true ), array( 'source' => 'failed-orders' ) );
}
PHP Snippet 2: Ürün Fiyatı Güncellemeleri için Özel Günlük Dosya Oluşturun
Her şeyden önce bir tetikleyici belirlemeliyiz (bir ürün kaydedildikten sonra woocommerce_update_product kanca tetikleyicisini seçeceğiz ) ve ardından günlüğü alıp wc_get_logger () WooCommerce işlevi sayesinde ürün fiyatı ayrıntılarını günlüğe kaydetmeliyiz.
/**
* @snippet Log Failed Orders @ WC Status
* @how-to Get GurmeWoo.com FREE
* @author Ahmet Kaptan
* @testedwith WooCommerce 4.4
* @donate $9 https://gurmehub.com/
*/
add_action( 'woocommerce_update_product', 'gurmewoo_log_price_changes_wc_status', 9999, 2 );
function gurmewoo_log_price_changes_wc_status( $product_id, $product ) {
// GET PRODUCT PRICE
$price = $product->get_price();
// LOAD THE WC LOGGER
$logger = wc_get_logger();
// LOG NEW PRICE TO CUSTOM "price-changes" LOG
$logger->info( 'Product ID ' . $product_id . ' price changed to: ' . $price, array( 'source' => 'price-changes' ) );
}
Snippet Nereye Eklenecek?
PHP parçacıklarını child theme functions.php dosyanızın altına yerleştirebilirsiniz.