فیلتر مرتب سازی بیشترین و کمترین کامنت
در این نوشته به شما روش افزودن دو فیلتر جدید به بخش مرتب سازیهای وردپرس را آموزش خواهیم داد تا بتوانید محصولات را بر اساس بیشترین و کمترین کامنت یا نظر نمایش دهید.
فیلتر مرتب سازی بیشترین و کمترین کامنت
برای اینکار در فایل 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]
ارسال پاسخ