Kategoriler
WordPress

WooCommerce: Öne çıkan ürünlere göre filtreleme

WordPress admin panelinde WooCommerce ürünler sayfasında “Öne çıkan ürünler” filtresi eklemek.

WordPress’in E-ticaret eklentisi WooCommerce’in admin panelinde ürün listeleme ekranında “Önce Çıkan Ürünler / Featured Products” filtresi yok, yani önce çıkarılmış ürünleri topluca görebileceğimiz bir seçenek eklememişler. Bu fonksiyonu manuel olarak siteye eklemek mümkün bunu paylaştım.

Bu işlevi yapan eklentiler var ancak çok günecl olmadığı için test etmedim, 2 yıl önce güncellenmiş bir eklenti WordPress eklenti dizininde mevcut. Ben aşağıdakini kullanıyorum sorunsuz işini yapıyor:

/* Add filtering by featured products */
add_action('restrict_manage_posts', 'featured_products_sorting');
function featured_products_sorting(){
    global $typenow;
    $post_type = 'product';
    $taxonomy  = 'product_visibility';
    if ($typenow == $post_type){
        $selected      = isset($_GET[$taxonomy]) ? $_GET[$taxonomy] : '';
        $info_taxonomy = get_taxonomy($taxonomy);
        wp_dropdown_categories(array(
            'show_option_all' => __("Show all{$info_taxonomy->label}"),
            'taxonomy'        => $taxonomy,
            'name'            => $taxonomy,
            'orderby'         => 'name',
            'selected'        => $selected,
            'show_count'      => true,
            'hide_empty'      => true,
        ));
   };
}
add_filter('parse_query', 'featured_products_sorting_query');
function featured_products_sorting_query($query){
    global $pagenow;
    $post_type = 'product';
    $taxonomy  = 'product_visibility'; 
    $q_vars    = &$query->query_vars;
    if ( $pagenow == 'edit.php' && isset($q_vars['post_type']) && 
$q_vars['post_type'] == $post_type && 
isset($q_vars[$taxonomy]) && is_numeric($q_vars[$taxonomy]) && 
$q_vars[$taxonomy] != 0 ){
        $term = get_term_by('id', $q_vars[$taxonomy], $taxonomy);
        $q_vars[$taxonomy] = $term->slug;
   }
}

Yukarıdaki kodu temanızın functions.php dosyası içerisinde uygun bir yere eklemeniz yeterli. Daha sonra WordPress admin panelinde WooCommerce ürün listelemeye baktığınızda filtreyi göreceksiniz.

WordPress ürün listeleme filtre
WordPress ürün listeleme filtre

Aşağıdaki konular da hoşunuza gidebilir, kolay gelsin.

WooCommerce sepette maksimum ürün sayısını belirlemek – WordPress’de WooCommerce için İşinize yarayacak farklı bir bir ipucu. Tek seferde yalnızca bir ürün satın alınabilmesini sağlamak.
WooCommerce ürün tipine göre body class eklemek – WordPress’de WooCommerce için tema geliştirirken İşinize yarayacak bir ipucu.
WooCommerce alternatifleri – WordPress için WooCommerce tek seçeneğiniz değil. Müşterilerinizin veya müşterinizin müşterilerinin satın alma yapmasına izin verecek başka WordPress eklentileri de var.
E-ticaret sistemini değiştirmek – taşımak – Web sitesini herhangi bir e-ticaret sisteminden farklı bir e-ticaret sistemine taşımak.