WooCommerce: Đổi tên một mục Breadcrumb

WooCommerce tạo ra đường dẫn cửa hàng, danh mục, thẻ, sản phẩm đơn lẻ ra khỏi hộp. Các đường dẫn như vậy phải tuân theo cài đặt liên kết cố định WooCommerce của bạn. Ví dụ: tôi sử dụng tùy chọn “Cơ sở cửa hàng với danh mục” trong WordPress> Permalinks. Trong trường hợp của tôi, theo mặc định, sản phẩm thuộc danh mục “ Chưa được phân loại ” có URL = “https://example.com/shop/uncategorized/product-name/” và đường dẫn trang sản phẩm duy nhất của nó tuân theo quy tắc tương tự: “Trang chủ / Cửa hàng / Chưa được phân loại / Tên sản phẩm ”.

Bây giờ, nếu tôi muốn đổi tên một trong các mục thì sao? Điều gì sẽ xảy ra nếu tôi muốn thay thế một trong các mục breadcrumb bằng một thứ khác? Chà, WooCommerce cung cấp cho chúng ta một bộ lọc thú vị có tên “ woocommerce_get_breadcrumb ” mà chúng ta có thể sử dụng để chỉnh sửa nội dung breadcrumb trước khi hiển thị nó. Trong bài đăng này, chúng ta sẽ xem cách thêm hậu tố vào danh mục sản phẩm và cũng như cách thay thế tên sản phẩm bằng giá trị SKU.

Đây là những gì sẽ xảy ra sau khi áp dụng Đoạn mã 1 bên dưới. Mục breadcrumb danh mục trên trang sản phẩm đơn lẻ có tiền tố = “Category:” và dễ đọc hơn.

Đoạn mã PHP 1: Thêm tiền tố vào mục Breadcrumb danh mục

add_filter( 'woocommerce_get_breadcrumb', 'bbloomer_single_product_edit_cat_breadcrumbs', 9999, 2 );

function bbloomer_single_product_edit_cat_breadcrumbs( $crumbs, $breadcrumb ) {

if ( is_product() ) {
$index = count( $crumbs ) - 2; // cat is always second last item
$value = $crumbs[$index];
$crumbs[$index][0] = 'Category: ' . $crumbs[$index][0];
}

return $crumbs;
}

Đoạn mã PHP 2: Thay thế Tên sản phẩm Mục Breadcrumb bằng SKU

add_filter( 'woocommerce_get_breadcrumb', 'bbloomer_single_product_edit_prod_name_breadcrumbs', 9999, 2 );

function bbloomer_single_product_edit_prod_name_breadcrumbs( $crumbs, $breadcrumb ) {

if ( is_product() ) {
global $product;
$index = count( $crumbs ) - 1; // product name is always last item
$value = $crumbs[$index];
$crumbs[$index][0] = $product->get_sku();
}

return $crumbs;
}

Thêm đoạn mã này vào đâu?

Bạn có thể đặt các đoạn mã PHP ở cuối tệp functions.php chủ đề con của mình (trước “?>” Nếu bạn có). Mặt khác, CSS có trong tệp style.css chủ đề con của bạn.

Đoạn mã này (vẫn) hoạt động chứ?

Vui lòng cho tôi biết trong phần bình luận nếu mọi thứ hoạt động như mong đợi. Tôi rất sẵn lòng sửa đổi đoạn mã nếu bạn có góp ý phù hợp (vui lòng cung cấp ảnh chụp màn hình).

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *