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

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

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

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

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

 

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

برای این‌کار در فایل 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]