Thay đổi phân loại sản phẩm mặc định trong woocommerce

Việc sắp xếp Sản phẩm WooCommerce mặc định là theo cách thủ công menu_order và nếu không đặt thứ tự thủ công, các sản phẩm sẽ được hiển thị theo thứ tự bảng chữ cái.

Trước khi chúng ta tiếp tục, tôi chỉ cho bạn cách sắp xếp các sản phẩm WooCommerce theo cách thủ công, có thể đó chính là thứ bạn cần.

Cách thứ nhất đó là nhấp vào tab Sắp xếp (Sorting) và sau đó kéo và thả.

Sắp xếp lại các sản phẩm WooCommerce theo cách thủ công trong wp-admin

Cách thứ hai - đặt thứ tự menu theo cách thủ công trong metabox dữ liệu sản phẩm.

Nếu bạn đặt -1, rất có thể sản phẩm này sẽ được hiển thị đầu tiên.

Bây giờ, tôi chỉ cho bạn cách thay đổi cách sắp xếp sản phẩm mặc định menu_order + title này thành thứ khác.

Phương pháp 1. Thay đổi Phân loại Sản phẩm trong Cài đặt WooCommerce

WooCommerce 3.2.6 trở xuống

Màn hình cài đặt này không được dùng nữa kể từ WooCommerce 3.3.0, vì vậy nếu bạn đang sử dụng phiên bản WooCommerce mới nhất, chỉ cần chuyển đến phần này .

Thay đổi phân loại sản phẩm mặc định trong WooCommerce 3.2.6 trở xuống

Toàn bộ tab Hiển thị (display) không còn khả dụng nữa kể từ WooCommerce 3.3.0

Tùy chọn hiển thị bị thiếu trong WooCommerce 3.3+, sau đó tìm Sắp xếp mặc định ở đâu?

Chà, bạn có thể tìm thấy nó trong Customizer :smiling_imp:

Tôi không chắc tại sao tab Hiển thị bị xóa hoàn toàn khỏi WooCommerce. Có thể họ muốn chúng tôi định cấu hình những thứ như vậy với sự trợ giúp của các đoạn mã, hoặc có thể họ thực sự có kế hoạch khác.

Vì vậy, hãy chuyển đến Appearance> Customize> WooCommerce> Product Catalog. Và chúng đây.

product-display-settings-in-customizer

Cài đặt Hiển thị sản phẩm chỉ có sẵn trong Customizer kể từ WooCommerce 3.3

Phương pháp 2. Sử dụng Móc lọc để Thay đổi Sắp xếp Sản phẩm Mặc định trong Mã

Đơn giản như chèn mã bên dưới vào tệp functions.php chủ đề hiện tại của bạn .

add_filter('woocommerce_default_catalog_orderby', 'aznet_default_catalog_orderby');

function aznet_default_catalog_orderby( $sort_by ) {
	return 'date';
}

Giá trị có thể là:

  • menu_order (Mặc định) - theo thứ tự tùy chỉnh trước, sau đó theo tên sản phẩm
  • popularity - theo số lượng bán hàng
  • rating - theo đánh giá trung bình
  • date - các sản phẩm được thêm gần đây sẽ được hiển thị đầu tiên
  • price - sản phẩm rẻ nhất sẽ được hiển thị đầu tiên
  • price-desc - đắt nhất đầu tiên
  • rand - theo thứ tự ngẫu nhiên

Chỉ thay đổi thứ tự mặc định cho một danh mục nhất định

Đôi khi bạn cũng có thể cần nó. Trên thực tế, bạn có thể sử dụng cùng một mã, nhưng chỉ cần thêm một điều kiện như is_product_category( 'category-slug' ) . Thí dụ:

add_filter('woocommerce_default_catalog_orderby', 'aznet_catalog_orderby_for_category');

function aznet_catalog_orderby_for_category( $sort_by ) {
	if( !is_product_category('uncategorized') ) { 
		return $sort_by; // no changes for any page except Uncategorized
	}
	return 'date';
}