Sên wordpress với dấu gạch chéo

Khi bạn tạo mới 1 Loại bài đăng tùy chỉnh trong WordPress, bạn sẽ có cấu trúc đường dẫn Permalink giống như là

https. //site-url/{post-type-slug}/{post-title}

VD. With Custom Post Type is Book chúng ta có cấu trúc đường dẫn là

https. // trang-url/book/book-title

Nếu bạn muốn chuyển về kiểu đường dẫn giống như các bài đăng thông thường trên WordPress là

https. //site-url/book-title

thì chúng ta cần nhập vào 2 hook after

Dưới dây là đoạn mã xử lý xóa {post-type-slug}

 

post_type && 'publish' === $post->post_status ) {
        $post_link = str_replace( '/' . $post->post_type . '/', '/', $post_link );
    }

    return $post_link;
}
add_filter( 'post_type_link', 'vinasupport_remove_custom_post_type_slug', 10, 2 );

2. Cập nhật xử lý Post Type của WordPress

Nếu giờ người dùng truy cập vào Permalink sau khi rút gọn thì sẽ bị lỗi 404. Chúng ta cần xử lý để WordPress hiểu và nhận Permalink mới cho Custom Post Type

is_main_query() ) {
    return;
  }

  // Bail if this query doesn't match our very specific rewrite rule.
  if ( ! isset( $query->query['page'] ) || 2 !== count( $query->query ) ) {
    return;
  }

  // Bail if we're not querying based on the post name.
  if ( empty( $query->query['name'] ) ) {
    return;
  }

  // Add CPT to the list of post types WP will include when it queries based on the post name.
  $query->set( 'post_type', array( 'post', 'page', 'book' ) );
}
add_action( 'pre_get_posts', 'vinasupport_add_post_names_to_main_query' );

Sau đó truy cập vào trang quản trị của WordPress => [ Settings ] => [ Permalinks ] để cập nhật lại link cấu trúc

Nhà phát triển wordpress thêm /category/urls để dễ dàng xác định các trang web có /tag/, tuy nhiên nếu bạn thấy url danh mục của mình xấu và muốn xóa chuyên mục trong URL WordPress để làm cho trang web của bạn trở nên chuyên nghiệp . Hiện nay, có rất nhiều cách để loại bỏ danh mục trong url WordPress, hầu hết các cách mình giới thiệu đều thực hiện nhanh chóng và không gây lỗi cho trang wp. Hãy cùng tham khảo bài viết của thủ thuật WordPress nhé

lục mục

Hướng dẫn cách xóa danh mục trong URL WordPress

Có 4 cách để xóa /category/ khỏi URL danh mục , bạn có thể chọn cách thuận tiện nhất để thực hiện

Lưu ý. Nếu bạn đang tạo một trang web mới, điều này là hoàn toàn bình thường, không có vấn đề gì. Nhưng nếu bạn định làm điều này cho một trang web được Google đặt chỉ mục, bạn cần đặt chuyển hướng chính xác để không ảnh hưởng đến SEO

Xóa /category/ trong URL bằng plugin Yoast SEO

Bằng cách này, chúng tôi sẽ sử dụng plugin để loại bỏ đoạn danh mục trong liên kết. Đây là cách đơn giản nhất để xóa một danh mục plugin mà tôi đang quảng cáo bên dưới đây là đối tượng tuyệt vời bắt buộc đối với bất kỳ trang web WordPress nào nếu bạn muốn SEO tốt. Plugin mà tôi đang nói đến là plugin SEO by Yoast, có thể gọi là Yoast SEO hoặc WordPress SEO. Sau khi cài đặt plugin SEO by Yoast, hãy trỏ chuột vào menu SEO -> Giao diện tìm kiếm -> Phân loại. Sau đó, cuộn xuống để tìm phần URL Danh mục và chuyển nút sang phần Xóa như hình bên dưới

Sên wordpress với dấu gạch chéo

Xóa danh mục trong URL WordPress với plugin Xếp hạng toán học SEO

Plugin Rank Math SEO đang tăng dần được sử dụng nhiều do có nhiều tính năng hấp dẫn. Nếu bạn đang sử dụng plugin Rank Math mà không sử dụng Yoast SEO thì hãy làm theo hướng dẫn dưới đây để xóa /category/ trong URL đi nhé

Vui lòng truy cập menu Rank Math -> General Settings -> Links. In the Strip Category Base you convert to on to delete /category/ go

Sên wordpress với dấu gạch chéo

Xóa /category/ với plugin Xóa URL danh mục

Nếu plugin Xếp hạng Math hoặc plugin Yoast SEO không được cài đặt trên trang web bạn đang sử dụng, bạn có thể cài đặt plugin Xóa URL danh mục. Chỉ cần cài đặt plugin Xóa danh mục URL trên trang web của bạn và bạn không cần phải làm gì khác. Ưu điểm của plugin này là nó tự động loại bỏ «danh mục» trong URL và thiết lập chuyển hướng tự động từ URL cũ sang URL mới

Nếu bạn không biết cách thiết lập chuyển hướng tiêu chuẩn, bạn có thể làm theo 3 phương pháp sau vì plugin sẽ tự động chuyển hướng URL cũ

Delete /category/ in URL by file. htaccess

Phương pháp này nhanh hơn nhưng tôi vẫn khuyến nghị bạn nên sử dụng các phương pháp trên. Để xóa một danh mục, vui lòng thêm dòng mã sau vào miền. htaccess

RewriteRule ^category/(. +)$ http. //miền. com/$1 [R=301,L]

Lưu ý. Trước khi thực hiện, bạn nên sao lưu tệp. htaccess để tránh nhầm lẫn và không quên đổi tên miền. com to link trang web của bạn trong đoạn mã trên

Khi sử dụng một trong các đường dẫn trong liên kết của bạn sẽ như sau. hocwordpress. vn/thu-thuat-wordpress vậy là bạn đã xóa thành công danh mục trong url của wordpress

Hướng dẫn cách xóa /category/ và slug danh mục cha từ URL WordPress

Như đã cập nhật chủ đề trên, bạn sẽ có thể xóa / danh mục / khỏi danh mục URL. Tuy nhiên, nếu bạn muốn chọn liên kết danh mục đơn giản hơn bằng cách xóa các khe danh mục mẹ, hãy làm theo hướng dẫn bên dưới

Lưu ý. Bạn không nên rút ngắn URL quá nhiều, sẽ dễ bị trùng lặp. Thực hiện theo cách dưới đây mình hướng dẫn thêm cho bạn, mình không khuyến khích bạn làm

Giả sử ban đầu trang web của bạn có các đường dẫn danh mục như. hocwordpress. vn/category/wordpress hocwordpress. vn/category/wordpress/thu-thuat-wordpress

Sau khi áp dụng các hướng dẫn bên dưới, URL sẽ chỉ rút ngắn. is. hocwordpress. vn/wordpress hocwordpress. vn/thuat-thuat-wordpress

Cách làm như sau

Sao chép đoạn mã bên dưới, dán vào cuối tệp functions. php trong chủ đề bạn đang sử dụng. Sau đó vào Cài đặt -> Đường dẫn tĩnh và chọn Lưu lại

// 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');

Như vậy là chúng ta đã cùng nhau tìm hiểu cách xóa danh mục trong URL WordPress. Hãy để lại bình luận của bạn về thủ thuật WordPress nếu bạn chưa biết cách thực hiện nhé, hẹn gặp lại các bạn trong những bài viết tiếp theo