WooCommerce web sitenizde çok satan ürünleri listelemeniz mümkündür. Bazı temalar belirli dönemlerde çok satan ürünleri listelemenize de olanak sağlar ama bu özellik her temada bulunmaz. İçeriğimde X günde en çok satan ürünleri nasıl listeleyebiliriz buna değineceğim.

Bir şeyin trend veya popüler olması için kısa zamanda çok satması/tanınması/konuşulması gerekir. Bu, ticarette de aynen geçerlidir. Bir ürün kısa zamanda çok rağbet görüyorsa o ürün trend/popüler olmuştur.

Bu içeriğimde WooCommerce x günde en çok satılan ürünler nasıl listelenir ona değineceğim.

WooCommerce Trend/Popüler Ürünleri Listeleme

Öncelikle bunu çalışan, satış kayıtlarının olduğu sitelerde yapmanız gerekir. Gösterilecek herhangi bir sonuç olmazsa kod işlevini gösteremez.

Yapmamız gereken temamızın functions.php veya aynı işlevi gören bir dosyasına aşağıdaki kodu eklemek.

/**
 * @snippet       Get Best Sellers Last week
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 8
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
function bbloomer_product_sold_last_n_days() {
   $all_orders = wc_get_orders(
      array(
         'limit' => -1,
         'status' => array_map( 'wc_get_order_status_name', wc_get_is_paid_statuses() ),
         'date_after' => date( 'Y-m-d', strtotime( '-7 days' ) ),
         'return' => 'ids',
      )
   );
   $trending = array();
   foreach ( $all_orders as $all_order ) {
      $order = wc_get_order( $all_order );
      $items = $order->get_items();
      foreach ( $items as $item ) {
         $product_id = $item->get_product_id();
         if ( ! $product_id ) continue;
         $trending[$product_id] = $trending[$product_id] ? (int) $trending[$product_id] + $item['qty'] : $item['qty'];
      }
   }
   arsort( $trending, SORT_NUMERIC );
   return array_keys( array_slice( $trending, 0, 10, true ) );
}
 
/* 
 

İlgili ürünleri listelemek için aşağıda bulunan kısa kodu istediğiniz yere yapıştırın.

echo do_shortcode( '[products ids="' . bbloomer_product_sold_last_n_days() . '"]' );

Merak ettiğiniz noktaları ve çalışmayan noktaları yorum formu ile bana iletebilirsiniz.