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: