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.
Aşağıdaki konular da hoşunuza gidebilir, kolay gelsin.