عضو کانال یوتیوب ما شوید.

افزودن فیلتر مرتب سازی بر اساس بیشترین و کمترین کامنت در ووکامرس

افزودن فیلتر مرتب سازی بر اساس بیشترین و کمترین کامنت در ووکامرس
افزودن فیلتر مرتب سازی بر اساس بیشترین و کمترین کامنت در ووکامرس

افزودن فیلتر مرتب سازی بر اساس بیشترین و کمترین کامنت در ووکامرس

در این نوشته به شما روش افزودن دو فیلتر جدید به بخش مرتب سازی های وردپرس را آموزش خواهیم داد تا بتوانید محصولات را بر اساس بیشترین و کمترین کامنت یا نظر نمایش دهید.

همراه ما باشید.

 

افزودن فیلتر مرتب سازی بر اساس بیشترین و کمترین کامنت در ووکامرس

برای اینکار در فایل functions.php قالب فعال فعلی وردپرس خود قطعه کد زیر را اضافه کنید و آنرا ذخیره کنید:

function add_custom_query_var( $vars ) {
    $vars[] = 'orderby';
    return $vars;
}
add_filter( 'query_vars', 'add_custom_query_var' );

// Add custom sorting options
function custom_woocommerce_catalog_orderby( $sortby ) {
    $sortby['comment_count'] = 'مرتب سازی بر اساس بیشترین نظر';
    $sortby['least_comment_count'] = 'مرتب سازی بر اساس کمترین نظر';
    return $sortby;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );

// Modify the product query to sort by comment count
function custom_woocommerce_get_catalog_ordering_args( $args ) {
    if ( isset( $_GET['orderby'] ) && 'comment_count' == $_GET['orderby'] ) {
        $args['orderby'] = 'comment_count';
        $args['order'] = 'DESC';
    } elseif ( isset( $_GET['orderby'] ) && 'least_comment_count' == $_GET['orderby'] ) {
        $args['orderby'] = 'comment_count';
        $args['order'] = 'ASC';
    }
    return $args;
}
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );

// Adjust the main query for comment count sorting
function custom_woocommerce_product_query( $q ) {
    if ( isset( $_GET['orderby'] ) && 'comment_count' == $_GET['orderby'] ) {
        $q->set( 'orderby', 'comment_count' );
        $q->set( 'order', 'DESC' );
    } elseif ( isset( $_GET['orderby'] ) && 'least_comment_count' == $_GET['orderby'] ) {
        $q->set( 'orderby', 'comment_count' );
        $q->set( 'order', 'ASC' );
    }
}
add_action( 'woocommerce_product_query', 'custom_woocommerce_product_query' );

 

اگر نیاز به آموزش‌های بیشتر وردپرس دارید در بخش نظرات همین نوشته برای ما بنویسید.

موفق باشید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]