Làm sao xóa bỏ những Slug không cần thiết trên URL trang web?

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%
*/
function devvn_remove_slug( $post_link, $post ) {
    if ( !in_array( get_post_type($post), array( ‘product’ ) ) || ‘publish’ != $post->post_status ) {
        return $post_link;
    }
    if(‘product’ == $post->post_type){
        $post_link = str_replace( ‘/san-pham/’, ‘/’, $post_link ); //Thay cua-hang bằng slug hiện tại của bạn
    }else{
        $post_link = str_replace( ‘/’ . $post->post_type . ‘/’, ‘/’, $post_link );
    }
    return $post_link;
}
add_filter( ‘post_type_link’, ‘devvn_remove_slug’, 10, 2 );
/*Sửa lỗi 404 sau khi đã remove slug product hoặc cua-hang*/
function devvn_woo_product_rewrite_rules($flash = false) {
    global $wp_post_types, $wpdb;
    $siteLink = esc_url(home_url(‘/’));
    foreach ($wp_post_types as $type=>$custom_post) {
        if($type == ‘product’){
            if ($custom_post->_builtin == false) {
                $querystr = “SELECT {$wpdb->posts}.post_name, {$wpdb->posts}.ID
                            FROM {$wpdb->posts} 
                            WHERE {$wpdb->posts}.post_status = ‘publish’ 
                            AND {$wpdb->posts}.post_type = ‘{$type}'”;
                $posts = $wpdb->get_results($querystr, OBJECT);
                foreach ($posts as $post) {
                    $current_slug = get_permalink($post->ID);
                    $base_product = str_replace($siteLink,”,$current_slug);
                    add_rewrite_rule($base_product.’?$’, “index.php?{$custom_post->query_var}={$post->post_name}”, ‘top’);
                }
            }
        }
    }
    if ($flash == true)
        flush_rewrite_rules(false);
}
add_action(‘init’, ‘devvn_woo_product_rewrite_rules’);
/*Fix lỗi khi tạo sản phẩm mới bị 404*/
function devvn_woo_new_product_post_save($post_id){
    global $wp_post_types;
    $post_type = get_post_type($post_id);
    foreach ($wp_post_types as $type=>$custom_post) {
        if ($custom_post->_builtin == false && $type == $post_type) {
            devvn_woo_product_rewrite_rules(true);
        }
    }
}
add_action(‘wp_insert_post’, ‘devvn_woo_new_product_post_save’);
2.Xóa bỏ Slug Featured_item và featured_item_category khi vào trang Portfolio và Porfolio category
Đoạn code bỏ Feature_item trong Slug Porfolio:
function ah_remove_custom_post_type_slug( $post_link, $post, $leavename ) {
    if ( ! in_array( $post->post_type, array( ‘featured_item’ ) ) || ‘publish’ != $post->post_status )
        return $post_link;
    $post_link = str_replace( ‘/’ . $post->post_type . ‘/’, ‘/’, $post_link );
    return $post_link;
}
add_filter( ‘post_type_link’, ‘ah_remove_custom_post_type_slug’, 10, 3 );
function ah_parse_request_tricksy( $query ) {
    
    if ( ! $query->is_main_query() )
        return;
    if ( 2 != count( $query->query )
        || ! isset( $query->query[‘page’] ) )
        return;
    if ( ! empty( $query->query[‘name’] ) )
        $query->set( ‘post_type’, array( ‘post’, ‘featured_item’, ‘page’ ) );
}
add_action( ‘pre_get_posts’, ‘ah_parse_request_tricksy’ );
Đoạn code bỏ Feature_item_category trong slug danh mục Portfolio:
add_filter(‘request’, ‘rudr_change_term_request’, 1, 1 );
function rudr_change_term_request($query){
    $tax_name = ‘featured_item_category’; // specify you taxonomy name here, it can be also ‘category’ or ‘post_tag’
    // Request for child terms differs, we should make an additional check
    if( $query[‘attachment’] ) :
        $include_children = true;
        $name = $query[‘attachment’];
    else:
        $include_children = false;
        $name = $query[‘name’];
    endif;
    $term = get_term_by(‘slug’, $name, $tax_name); // get the current term to make sure it exists
    if (isset($name) && $term && !is_wp_error($term)): // check it here
        if( $include_children ) {
            unset($query[‘attachment’]);
            $parent = $term->parent;
            while( $parent ) {
                $parent_term = get_term( $parent, $tax_name);
                $name = $parent_term->slug . ‘/’ . $name;
                $parent = $parent_term->parent;
            }
        } else {
            unset($query[‘name’]);
        }
        switch( $tax_name ):
            case ‘category’:{
                $query[‘category_name’] = $name; // for categories
                break;
            }
            case ‘post_tag’:{
                $query[‘tag’] = $name; // for post tags
                break;
            }
            default:{
                $query[$tax_name] = $name; // for another taxonomies
                break;
            }
        endswitch;
    endif;
    return $query;
}
add_filter( ‘term_link’, ‘rudr_term_permalink’, 10, 3 );
function rudr_term_permalink( $url, $term, $taxonomy ){
    $taxonomy_name = ‘featured_item_category’; // your taxonomy name here
    $taxonomy_slug = ‘featured_item_category’; // the taxonomy slug can be different with the taxonomy name (like ‘post_tag’ and ‘tag’ )
    // exit the function if taxonomy slug is not in URL
    if ( strpos($url, $taxonomy_slug) === FALSE || $taxonomy != $taxonomy_name ) return $url;
    $url = str_replace(‘/’ . $taxonomy_slug, ”, $url);
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:
1 lam sao xoa bo nhung slug khong can thiet tren url trang web
1-lam-sao-xoa-bo-nhung-slug-khong-can-thiet-tren-url-trang-web
Vào phần tùy chỉnh Advanced -> Sau đó vào phần Permalink:
2 lam sao xoa bo nhung slug khong can thiet tren url trang web
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
3 lam sao xoa bo nhung slug khong can thiet tren url trang web
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.
 

0.0 – Những điều cần làm khi sau khi cài đặt một giao diện mua từ Web Elamweb
01. Làm sao thay đổi danh mục sản phẩm trên trang chủ ?
02. Làm sao để thay đổi banner và hình ảnh – text trên trang chủ ?
03. Làm sao để thay đổi tiêu đề trang ?
04. Làm sao để thay đổi logo trang web ?
05. Làm sao thay đổi nội dung Footer
06.Làm sao để thêm sản phẩm của danh mục bất kỳ lên trang chủ ?
07.Làm sao xóa bỏ những Slug không cần thiết trên URL trang web?
08. Cách chèn Google Analytics vào Website
09. Làm sao xóa bỏ bản quyền Web Elamweb (Chỉ dành cho đối tác)
10. Hướng dẫn sử dụng Duplicator để backup và chuyển host nhanh gọn
11.Hướng dẫn bung file Duplicator cho người mới
12.Lưu ý – Hướng dẫn bật Index Google cho Website
13. Hướng dẫn thay đổi độ dài đoạn mô tả trong trang danh mục bài viết
14.Hướng dẫn cập nhật bản mới nhất cho các giao diện tại Web Elamweb
15. Cách lấy thông tin SMTP của Gmail để thiết lập gửi mail
16.Hướng dẫn xác định kích thước chính xác của hình ảnh trên website
17.Google PageSpeed Insight là gì ? Hướng dẫn tối ưu điểm Google PageSpeed Insight 2021
18.Cách xóa cache hình ảnh và mô tả khi Share link trên Zalo
19.Hướng dẫn khôi phục lại các nội dung trên trang khi lỡ xóa nhầm
20. Hướng dẫn cách đổi tên giao diện không mất định dạng (Chỉ dành cho giao diện mua tại Web Elamweb)
21.Cách chèn các icon Số điện thoại, Facebook, Zalo.. vào website

0/5 (0 Reviews)
Bài viết liên quan