Hôm nay mình xin hướng dẫn các bạn các bỏ những Slug không cần thiết trên URL trang web.
Có 3 phần chính là:
1.Xóa bỏ slug danh-muc khi vào trang danh mục sản phẩm và Xóa bỏ slug san-pham khi vào trang sản phẩm chi tiết.
2.Xóa bỏ Slug Featured_item và featured_item_category khi vào trang Portfolio và Porfolio category
3.Xóa bỏ Slug category khi vào trang danh mục bài viết
Đối với phần 1 và 2, các bạn chỉ cần copy đoạn code tương ứng bỏ vào file Functions.php của themes đang sử dụng. Đối với các themes mua tại Web Khởi Nghiệp , Tên themes mặc định là web-khoi-nghiep.
Sau đây mình xin đi vào chi tiết từng phần:
1.Xóa bỏ slug danh-muc khi vào trang danh mục sản phẩm và Xóa bỏ slug san-pham khi vào trang sản phẩm chi tiết.
Đoạn code để xóa bỏ slug danh-muc khi vào trang danh mục sản phẩm:
/*
* Remove product-category in URL
* Thay danh-muc bằng slug hiện tại của bạn. Themes tại WEb Khởi Nghiệp - Mặc định là danh-muc
*/
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 = 'danh-muc'; //Thay bằng slug hiện tại của bạn. Mặc định Của WKN là danh-muc
if(strpos($url, $taxonomy_slug) === FALSE) break;
$url = str_replace('/' . $taxonomy_slug, '', $url);
break;
endswitch;
return $url;
}
// Add our custom product cat rewrite rules
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');
/*Sửa lỗi khi tạo mới taxomony bị 404*/
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);
}
Đoạn code xỏa bỏ slug san-pham khi vào trang sản phẩm chi tiết.
/*
* Code Bỏ /san-pham/ hoặc … có hỗ trợ dạng %product_cat%
3.Xóa bỏ Slug category khi vào trang danh mục bài viết:
Đối với các theme mua tại Dịch vụ làm web giá rẻ Elamweb.com – đã có cài sẵn Yoast Seo – Các bạn chỉ cần bật tính năng Advanced của Yoast Seo lên và vào phần Permalink Chọn Remove category:
Vào phần tùy chỉnh Advanced -> Sau đó vào phần Permalink:
Tại đây ở phẩn Permalinks -> Chọn Remove /category/ để bỏ slug phần này ở mục danh mục bài viết
Sau khi hoàn tất các phần này, các bạn sẽ có một hệ thống link đơn giản và thân thiện cho Seo. Chúc các bạn thành công.