Trong bài viết này chúng ta cùng nhau xóa /category/ và slug của category cha ra khỏi đường dẫn của category. Nếu bạn chỉ muốn xóa category trong URL WordPress thì có thể dùng Yoast Seo hoặc Rank Math để thực hiện việc này (Có hướng dẫn ở cuối bài). Còn bạn muốn xóa bỏ cả 2 thì hãy dùng đoạn code bên dưới. Khi đã dùng đoạn code bên dưới thì bạn không cần bất cứ plugin nào khác và không cần thực hiện tthêm thao tác nào khác nha
Code xóa bỏ /category/ và slug category cha không dùng plugin
Việc bạn cần làm là copy đoạn code bên dưới vào file functions.php trong theme đang sử dụng sau đó vào update lại permalink tại (Settings ~> Permalink ~> Save change)
// Remove Parent Category from Child Category URL add_filter('term_link', 'giappham_no_category_parents', 1000, 3); function giappham_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 giappham_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', 'giappham_no_category_parents_rewrite_rules'); /*Sửa lỗi khi tạo mới category bị 404*/ function giappham_new_category_edit_success() { giappham_no_category_parents_rewrite_rules(true); } add_action('created_category','giappham_new_category_edit_success'); add_action('edited_category','giappham_new_category_edit_success'); add_action('delete_category','giappham_new_category_edit_success');
Trong quá trình sử dụng có bất kỳ lỗi gì hãy để lại phản hồi bên dưới mình sẽ giải đáp nha.
Hướng dẫn cách chỉ xóa bỏ /category/ bằng plugin Yoast SEO
Yêu cầu bắt buộc là bạn phải cài plugin Yoast SEO . Khi cài mới các cài đặt nâng cao sẽ bị ẩn đi. Vì vậy bạn cần vào mở nó lên bằng cách sau:
Bước 1: Vào wp admin SEO ~> tab Features ~> Chọn Enabled mục Advanced settings pages ~> Save changes
Bước 2: Vào SEO ~> Hiển thị khi tìm kiếm ~> Nguyên tắc phân loại ~> Tìm đến mục đường dẫn danh mục và chọn gỡ bỏ
Hướng dẫn cách chỉ xóa bỏ /category/ bằng plugin Rank Math
Các bạn vào Rank Math ~> General Setting ~> Links ~> Strip Category Base ~> ON
Chúc các bạn thành công