Wordpress

WooCommerce Çok Satanlar ve İndirim Rozeti Nasıl Oluşturulur

WooCommerce Çok Satanlar ve İndirim Rozeti Nasıl Oluşturulur

Merhaba arkadaşlar bu makalemizde WooCommerce ürün listelerinde nasıl indirim ve en çok satanlar rozetlerinin eklenip görünürlük koşullarının nasıl uygulanabileceğini detaylı bir şekilde ele alacağım.
İndirimlerinizi vurgulayarak ve en çok satan ürünleri öne çıkararak müşterilerin ilgisini çekmek ve satışlarınızı artırmak için bu pratik yöntemleri kullanabilirsiniz. Keyifli okumalar dilerim!

Woocommerce indirim ve en çok satanlar rozetler eklemek için aşağıdaki adımları izleyebilirsiniz:
1. Görünüm > Tema Düzenleyici bölümüne gidin.
2. functions.php dosyasını seçin.
3. Dosyanın en altına aşağıdaki kodları sırasıyla ekleyin.
veya alt tema oluşturarak tema güncellemelerinde kodlarınızın kaybolmadan saklayabilirsiniz. Alt tema oluşturmak için buraya tıklayabilirsiniz.

Başlamadan Önce

Sitenize bu kodu eklemeden önce lütfen bu kurallara dikkat edin: Sitenizde çok fazla ürün (500’den fazla) varsa bu kodu eklediğinde çok az bir miktarda yavaşlama olabilir. Tabi bu yavaşlamanın birinci sebebi veritabanında post_meta tablosunda çok fazla değerin olmasından kaynaklanmaktadır. İkinci sebebi ise hosting hizmetinin yetersiz olmasından kaynaklanmaktadır. Aslında hosting hizmetini yeterli seviyeye getirirsek post_meta’nın önemi kalmadığını gösterebilir.
Not: Yukarıdaki açıklama “en çok satanlar” sorgusu için değerlendirme yapılmıştır.

Wordpress Query Monitor
Çok satanlar sorgu analizi

Bu resimde en çok satan ürünlerin SQL sorgusunu analizi görmekteyiz.

En çok satan ve indirimli ürünler rozeti

Çok satanlar ve İndirim rozeti e-ticaret sitemizde bulunan ürünlerin müşteriye karşı öne çıkmalarını ve müşterilerinizin dikkatini çekmelerini sağlayarak satışları artırmasına yardımcı olabilir.

Woocommerce En Çok Satanlar ve İndirim Rozeti Nasıl Oluşturulur.
WooCommerce Bestseller & Discount Badge
add_action('woocommerce_before_shop_loop_item_title', 'vono_bestseller_discount_badge_product_loop', 10);

function vono_bestseller_discount_badge_product_loop()
{
    if (is_archive()) :
        global $product, $wp_query;

        $post_ids = wp_list_pluck($wp_query->posts, 'ID');

        // best seller
        $args = array(
            'post_type'       => 'product',
            'post__in'        => $post_ids,
            'post_status'     => 'publish',
            'posts_per_page'  => -1,
            'orderby'         => 'meta_value_num',
            'order'           => 'DESC',
            'fields'          => 'ids',
            'meta_query'      => array(
                array(
                    'key'         => 'total_sales',
                    'value'       => 20, // satış adedi 20'den yüksek olanlar
                    'compare'     => '>',
                )
            )
        );
        $bestseller = new WP_Query($args);
        // best seller


        // discount check
        if (!$product->is_on_sale()) return;

        if ($product->is_type('simple')) {
            $max_percentage = (($product->get_regular_price() - $product->get_sale_price()) / $product->get_regular_price()) * 100;
        } elseif ($product->is_type('variable')) {
            $max_percentage = 0;
            $prices = $product->get_variation_prices(true); // this is the fastest way to get the prices for all variants - returns multidimensional array from object cache
            foreach ($prices['regular_price'] as $pid => $regular_price) {
                if ($regular_price == 0) continue; // if regular price is 0, skip this product
                if ($regular_price == $prices['sale_price'][$pid]) continue; // if sale price = regular price, skip this product
                $percentage = ($regular_price - $prices['sale_price'][$pid]) / $regular_price * 100;
                if ($percentage > $max_percentage) {
                    $max_percentage = $percentage;
                }
            }
        } else {
            $max_percentage = false;
        }
        // discount check

        //output
        if (in_array($product->get_id(), $bestseller->posts)) {
            // bestseller image
            echo '<img class="onsale" src="https://yourimageshare.com/ib/0jfw5C09IG.webp" style="width:65px; height:65px"> ';
        } elseif (round($max_percentage) == 15) {
            // 15% discount image
            echo '<img class="onsale" src="https://yourimageshare.com/ib/Qk6zeKZ3gI.webp" style="width:65px; height:65px"> ';
        } elseif ($max_percentage) {
            // sale image
            echo '<img class="onsale" src="https://yourimageshare.com/ib/FIwtE7ZbTh.webp" style="width:65px; height:65px"> ';
        }
    endif;
}

WooCommerce Analitiği Yanlış Veri

WooCommerce eklentisinin analiz bölümünde en çok satan ürünlerin oluşturduğum en çok satan ürünlerin ID’lerinin farklılık gösterdiğini gözlemledim. Bu farklılığın nedenlerini araştırdım ve önbellek, çerez sorunları, üçüncü taraf eklentileri ve hatalı ürün veya stok durumu gibi faktörlerin etkilediğini öğrendim. WooCommerce analitiğinizin doğru ve güvenilir sonuçlar üretmesini sağlamak için WooCommerce belgelerini inceleyebilir, önbelleği temizleyebilir ve izleme etiketlerini doğru şekilde yerleştirebilirsiniz.
Daha fazla bilgi için wordpress.org/support/topic/analytics-total-sales-data-is-incorrect adresine göz atabilirsiniz.

Woocommerce Analytics Total Sales Data Compare

Dosyayı indirmek için buraya tıklayınız.
BKZ: https://wp-kama.com/function/wp_query
BKZ: https://wordpress.stackexchange.com/a/141804/203051

Sevgili Okuyucularımız, Sizlere bilgi, eğlence ve ilham dolu içerikler sunabildiysek ne mutlu bize. Eğer yazımızda herhangi bir düzeltme veya öneri sunmak isterseniz, lütfen yorum yapmaktan çekinmeyin. Sizden gelen geri bildirimler, içeriklerimizi daha da geliştirmemiz için bize büyük bir yardımcı olacaktır. Teşekkür ederiz!
Unutmayın! Paylaşmak; kazanmanın en hızlı ve kolay yoludur. Bir sonraki makalede görüşmek dileğiyle esen kalın.

İçeriğimi beğendin mi? Bana destek olup bir kahve ısmarlayabilirsiniz. Çok teşekkür ederim!

Bu makale yardımcı oldu mu?
EvetHayır

Paylaş

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir