Cách xóa bỏ /category/ trong đường link URL Woocommerce

0
2765

Mặc định khi cài đặt WordPress thì trong đường link của chuyên mục (categories) sẽ có chứa đoạn category với dạng như sau: leanhtien.net/product-category/san-pham1. Với đường link như này xét về thẩm mỹ thì nhìn thấy rất rườm rà và rất xấu đúng không nào. Còn xét về SEO thì có thể nói là nó không tốt cho SEO vì nó làm cho đường link dài thêm, nên trong đa số các dự án SEO mình làm đều ưu tiên xóa đường link đó đi.

Bước 1: Vào Cài Đặt > Đường dẫn tĩnh> Thêm dấu chấm (.) vào field “Mặc định danh mục sản phẩm” và field “Tuỳ biến đường dẫn” như trong hình:

xóa slug category woo

Bước 2: Sau đó thêm đoạn code bên dưới vào file function.php:


add_filter('request', function( $vars ) {
global $wpdb;
if( ! empty( $vars['pagename'] ) || ! empty( $vars['category_name'] ) || ! empty( $vars['name'] ) || ! empty( $vars['attachment'] ) ) {
$slug = ! empty( $vars['pagename'] ) ? $vars['pagename'] : ( ! empty( $vars['name'] ) ? $vars['name'] : ( !empty( $vars['category_name'] ) ? $vars['category_name'] : $vars['attachment'] ) );
$exists = $wpdb->get_var( $wpdb->prepare( "SELECT t.term_id FROM $wpdb->terms t LEFT JOIN $wpdb->term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'product_cat' AND t.slug = %s" ,array( $slug )));
if( $exists ){
$old_vars = $vars;
$vars = array('product_cat' => $slug );
if ( !empty( $old_vars['paged'] ) || !empty( $old_vars['page'] ) )
$vars['paged'] = ! empty( $old_vars['paged'] ) ? $old_vars['paged'] : $old_vars['page'];
if ( !empty( $old_vars['orderby'] ) )
$vars['orderby'] = $old_vars['orderby'];
if ( !empty( $old_vars['order'] ) )
$vars['order'] = $old_vars['order'];
}
}
return $vars;
});

SHARE
Bài viết trướcNgữ pháp Minna No Nihongo bài 40
Bài viết tiếp theoHọc tiếng anh ở quận 12
Tôi là thế hệ 8x, thích nghe nhạc 8x, thỉnh thoảng vẫn còn chơi những game 8x - 9x đời đầu để hoài niệm, từng dạy tiếng Anh hiện tại đang làm việc trong lĩnh vực công nghệ thông tin, phần mềm.