Di chuyển tab Bài đánh giá trước phần mô tả trên các trang sản phẩm WooCommerce

Hiển thị tab ‘đánh giá’ là tab đầu tiên trong số các tab ‘mô tả’ và ‘thông tin bổ sung’ trên trang web WooCommerce để cung cấp khả năng hiển thị nhiều hơn cho các bài đánh giá. Chúng tôi đã thấy cách tiếp cận khác để hiển thị nhiều bài đánh giá hơn bằng cách hiển thị các bài đánh giá riêng biệt bên ngoài phần tab. Bây giờ, hãy di chuyển vị trí tab ‘đánh giá’ trong phần tab trên các trang sản phẩm WooCommerce.

PHP Snippets: Di chuyển tab đánh giá

Trong Bảng điều khiển WordPress, đi tới Giao diện> Trình chỉnh sửa chủ đề và mở tệp functions.php . Thêm mã sau vào cuối.

add_filter( 'woocommerce_product_tabs', 'wpd_wc_move_product_review_tab', 1005 );
/**
 * Move Reviews tab before Description tab
 *
 * @param array $tabs Array of tabs.
 * @return array
 */
function wpd_wc_move_product_review_tab( $tabs ) {
	global $product, $post;
	$new_tabs = array();
	if ( comments_open() ) {
		$new_tabs['reviews'] = $tabs['reviews'];
		unset( $tabs['reviews'] );
		if ( $post->post_content ) {
			$new_tabs['description'] = $tabs['description'];
			unset( $tabs['description'] );
		}
		if ( $product && ( $product->has_attributes() || apply_filters( 'wc_product_enable_dimensions_display', $product->has_weight() || $product->has_dimensions() ) ) ) {
			$new_tabs['additional_information'] = $tabs['additional_information'];
			unset( $tabs['additional_information'] );
		}
		$tabs = array_merge( $new_tabs, $tabs );
	}
	return $tabs;
}

Giải thích mã

Bạn có thể lọc (thêm / sửa / xóa) các tab hiện có bằng bộ lọc woocommerce_product_tabs . Đầu tiên, tôi đang tạo một biến mảng tab mới và sau đó kiểm tra xem biểu mẫu đánh giá có được mở cho một sản phẩm hay không. Nếu biểu mẫu đánh giá đang mở, thì chúng tôi sẽ định vị lại các tab cụ thể.

14-15: Ban đầu chỉ định lại tab đánh giá hiện có trong mảng tab mới và xóa tab đánh giá hiện có khỏi mảng tab cũ.
17-20: Nếu một sản phẩm có tab Mô tả , chúng tôi chỉ định các tab mô tả cũ ở vị trí thứ 2 trong mảng tab mới và xóa nó khỏi mảng tab cũ.
22-25: Nếu một sản phẩm có tab Thông tin bổ sung , chúng tôi chỉ định tab này ở vị trí thứ 3 trong mảng tab mới và xóa nó khỏi mảng tab cũ.
27: Hợp nhất hai mảng và tạo một mảng mới.
30: Trả về mảng cho màn hình.