WordPress » Thủ thuật wordpress » Hướng dẫn xóa category parrent wordpress

Hướng dẫn xóa category parrent wordpress

Bởi administrator | 1136

 

Chào các bạn , sau một thời gian làm việc tại một công ty thiết kế web giá rẻ cũng thấy trình độ lên khá nhiều khi nhận được rất lắm yêu cầu của khách về việc tối ưu seo. Hôm nay mình nhận thêm một yêu cầu tối ưu seo nữa là xóa link category parent (link chuyên mục cha) khi vào chuyên mục con . Google các kiểu thì cuối cùng cũng tìm ra được 1 plugin tên là No category parent lên google search hoặc vào link trực tiếp trên https://vi.wordpress.org/plugins/no-category-parents/ để download cài đặt và active rồi F5 lên để xem kết quả .

Hay ai cần code không muốn sử dụng plugin thì copy hàm này ném vào file function.php

// Remove Parent Category from Child Category URL
add_filter('term_link', 'devvn_no_category_parents', 1000, 3);
function devvn_no_category_parents($url, $term, $taxonomy) {
    if($taxonomy == 'category'){
        $term_nicename = $term->slug;
        $url = trailingslashit(get_option( 'home' )) . user_trailingslashit( $term_nicename, 'category' );
    }
    return $url;
}
// Rewrite url mới
function devvn_no_category_parents_rewrite_rules($flash = false) {
    $terms = get_terms( array(
        'taxonomy' => 'category',
        'post_type' => 'post',
        'hide_empty' => false,
    ));
    if($terms && !is_wp_error($terms)){
        foreach ($terms as $term){
            $term_slug = $term->slug;
            add_rewrite_rule($term_slug.'/?$', 'index.php?category_name='.$term_slug,'top');
            add_rewrite_rule($term_slug.'/page/([0-9]{1,})/?$', 'index.php?category_name='.$term_slug.'&paged=$matches[1]','top');
            add_rewrite_rule($term_slug.'/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$', 'index.php?category_name='.$term_slug.'&feed=$matches[1]','top');
        }
    }
    if ($flash == true)
        flush_rewrite_rules(false);
}
add_action('init', 'devvn_no_category_parents_rewrite_rules');
 
/*Sửa lỗi khi tạo mới category bị 404*/
function devvn_new_category_edit_success() {
    devvn_no_category_parents_rewrite_rules(true);
}
add_action('created_category','devvn_new_category_edit_success');
add_action('edited_category','devvn_new_category_edit_success');
add_action('delete_category','devvn_new_category_edit_success');

Chúc các bạn thành công

 

Hãy like nếu bạn thấy hữu ích

Leave a Reply

Your email address will not be published. Required fields are marked *

Bài viết liên quan