Xóa bỏ /product-category/ trong Url danh mục sản phẩm Woocommerce

Lướt qua 1 số các diễn đàn thấy nhiều bạn hỏi cách xóa product-category (danh-muc-san-pham) trong URL của Woocommerce. Nhưng đa số các cách mà những bạn hỗ trợ áp dụng vào đều bị lỗi như là link not found (lỗi 404) hoặc là không xóa được product-category. Bài viết này, mình sẽ hướng dẫn bạn cách xóa bỏ product-category trong Woocommerce đơn giản mà không bị lỗi.

xoa-bo-product-category-trong-url-danh-muc-san-pham-woocommerce

Để xóa product-category trong link woocommerce bạn chỉ cần cài thêm 1 plugin và thiết lập như hướng dẫn dưới đây là được nhé. Mình đã làm thử trên web bán hàng của mình và hoàn toàn không có lỗi.

Hướng dẫn xóa bỏ product-category trong url woocommerce

Bình thường sau khi cài woocommerce đường dẫn url danh mục sản phẩm của bạn sẽ có dạng như: nguyenhungplus.com/product-category/dien-thoai-thong-minh hoặc nguyenhungplus.com/danh-muc-san-pham/dien-thoai-thong-minh nếu woocommerce của bạn đã Việt hóa. Bây giờ bạn muốn url có dạng: nguyenhungplus.com/dien-thoai-thong-minh để đường dẫn url của bạn vừa gắn gọn vừa chuẩn SEO hơn đúng không nào?

Hướng dẫn xóa bỏ product-category trong URL bằng plugin

Đây là cách dễ dàng và nhanh chóng nếu bạn không biết về code. Bạn cài đặt plugin WP htaccess Control vào web.

Nếu bạn đang làm website bán hàng để kinh doanh thì bạn nên mua plugin Woocommerce SEO để có thể remove product-category woocommerce và hơn nữa plugin Woocommerce SEO giúp cho Woocommerce có thể SEO tốt hơn.

Sau khi cài đặt xong bạn truy cập vào Settings -> htaccess Control để vào thiết lập trong plugin WP htaccess Control.

Tại bảng thiết lập của plugin bạn click vào Remove Taxonomies and Author Base để mở rộng thiết lập ra. Bạn sẽ thấy các tùy chọn như hình dưới. Ở đây bạn tick vào mục Remove Product Categories Base để xóa bỏ product-category trong link woocommerce. Sau đó kéo xuống và ấn Save all changes để lưu cài đặt

xoa-bo-product-category-trong-url-danh-muc-san-pham-woocommerce-2

Hướng dẫn xóa bỏ product-category trong URL không dùng plugin

Để xóa bỏ chữ product-category trong URL mà không cần dùng plugin bạn copy đoạn code bên dưới paste vào file functions.php trong theme đang sử dụng, sau đó vào Cài đặt (Setting) -> Đường dẫn tĩnh (Permalink) -> Lưu thay đổi (Save change) để cập nhật lại đường dẫn là xong.

<?php
add_filter( 'term_link', 'devvn_product_cat_permalink', 10, 3 );
function devvn_product_cat_permalink( $url, $term, $taxonomy ){
 switch ($taxonomy):
 case 'product_cat':
 $taxonomy_slug = 'product-category'; //Thay bằng slug hiện tại của bạn. Mặc định là product-category
 if(strpos($url, $taxonomy_slug) === FALSE) break;
 $url = str_replace('/' . $taxonomy_slug, '', $url);
 break;
 endswitch;
 return $url;
}
function devvn_product_category_rewrite_rules($flash = false) {
 $terms = get_terms( array(
 'taxonomy' => 'product_cat',
 'post_type' => 'product',
 'hide_empty' => false,
 ));
 if($terms && !is_wp_error($terms)){
 $siteurl = esc_url(home_url('/'));
 foreach ($terms as $term){
 $term_slug = $term->slug;
 $baseterm = str_replace($siteurl,'',get_term_link($term->term_id,'product_cat'));
 add_rewrite_rule($baseterm.'?$','index.php?product_cat='.$term_slug,'top');
 add_rewrite_rule($baseterm.'page/([0-9]{1,})/?$', 'index.php?product_cat='.$term_slug.'&paged=$matches[1]','top');
 add_rewrite_rule($baseterm.'(?:feed/)?(feed|rdf|rss|rss2|atom)/?$', 'index.php?product_cat='.$term_slug.'&feed=$matches[1]','top');
 }
 }
 if ($flash == true)
 flush_rewrite_rules(false);
}
add_action('init', 'devvn_product_category_rewrite_rules');
add_action( 'create_term', 'devvn_new_product_cat_edit_success', 10, 2 );
function devvn_new_product_cat_edit_success( $term_id, $taxonomy ) {
 devvn_product_category_rewrite_rules(true);
}

Lưu ý:

  • dòng 6 đang áp dụng cho slug danh mục là “product-category“. Bạn hãy kiểm tra slug (vào Cài đặt -> Đường dẫn tĩnh), nếu nó khác hãy sửa thành slug hiện tại của web bạn.
  • Sau khi làm xong nếu bị lỗi phân trang (/page/2 – 404 not found) là do ở phần permalink của posts bạn đang để dạng .html. Khi đó hãy thay code dòng 25, 26 bằng 2 dòng code dưới đây:
add_rewrite_rule($baseterm.'/page/([0-9]{1,})?$', 'index.php?product_cat='.$term_slug.'&paged=$matches[1]','top');
add_rewrite_rule($baseterm.'/(?:feed/)?(feed|rdf|rss|rss2|atom)?$', 'index.php?product_cat='.$term_slug.'&feed=$matches[1]','top');

Như vậy là bạn đã remove product-category woocommerce xong rồi đó. Bây giờ link danh mục sản phẩm của bạn sẽ có dạng: nguyenhungplus.com/dien-thoai-thong-minh

Lời kết

Vậy là bạn đã biết cách xóa đoạn product-category trong đường dẫn danh mục sản phẩm Woocommerce (remove product-category woocommerce) rồi nhé. Cách xóa rất đơn giản đúng không nào. Chỉ cần cài thêm plugin WP htaccess Control mọi thứ sẽ trở lên đơn giản hơn nhiều.

Cảm ơn bạn đã theo dõi blog Nguyễn Hùng! Chúc các bạn thành công.

Xóa bỏ /product-category/ trong Url danh mục sản phẩm Woocommerce
4.9 35 votes

Bình luận mới

  1. Thao 12/04/2018
    • Nguyễn Hùng 12/04/2018
      • Thao 12/04/2018
        • Nguyễn Hùng 12/04/2018
          • Thao 12/04/2018
          • Nguyễn Hùng 12/04/2018
          • Thao 12/04/2018
          • Nguyễn Hùng 12/04/2018
          • Thao 12/04/2018
  2. nguyễn mạnh 10/03/2017
    • Nguyễn Hùng 10/03/2017
      • nguyễn mạnh 10/03/2017
        • Nguyễn Hùng 10/03/2017

Để lại ý kiến của bạn

Hello! Tớ là Nguyễn Hùng, blog này tớ xây dựng nhằm mục đích chia sẻ miễn phí các kiến thức máy tính và làm web Wordpress, SEO, SEM, MMO,... mà tớ biết cho tất cả mọi người. Cảm ơn bạn đã ghé qua blog, nếu thấy bài viết hay, hãy chia sẻ để ủng hộ tinh thần cho tớ nha. → Xem tiếp"
Đăng ký nhận bản tin!

Đăng ký nhận bản tin!

Đăng ký email để nhận bài viết mới và các khuyến mãi, quà tặng trên blog Nguyễn Hùng.

Đăng ký thành công!