Cách Thay Đổi và Xóa Slug Prefix trong Custom Post Type của WordPress
Bạn muốn tạo trải nghiệm tốt hơn cho người dùng và tối ưu hóa SEO với các URL thân thiện cho Custom Post Type? Hãy khám phá cách thay đổi và xóa slug prefix trong WordPress trong bài viết này!
Trong WordPress, khi bạn tạo một loại bài viết tùy chỉnh (Custom Post Type), WordPress mặc định sẽ thêm slug của loại bài viết tùy chỉnh vào URL. Tuy nhiên, bạn có thể thay đổi điều này bằng cách sửa đổi đối số 'rewrite' khi bạn đăng ký loại bài viết tùy chỉnh.
Nếu bạn muốn xóa prefix slug, hãy cập nhật đối số 'rewrite' như sau:
'rewrite' => array('slug' => '/','with_front' => false)
Ví dụ:
function create_posttype() {
register_post_type( 'your_post_type',
array(
'labels' => array(
'name' => __( 'Your Post Type' ),
'singular_name' => __( 'Your Post Type' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => '/','with_front' => false),
'show_in_rest' => true,
)
);
}
add_action( 'init', 'create_posttype' );
Nhưng lưu ý rằng, khi bạn làm như vậy, bạn có thể gặp phải vấn đề với các đường dẫn URL xung đột nếu tên của bài viết tùy chỉnh của bạn trùng với tên của một bài viết hoặc trang khác.
Ngoài ra, sau khi thay đổi slug, bạn cần chạy lại permalink. Đi tới Settings > Permalinks và chỉ cần nhấn nút Save Changes để làm mới cấu trúc URL.
Nếu bạn đặt has_archive
thành true
khi đăng ký loại bài viết tùy chỉnh (Custom Post Type), mặc định slug của trang lưu trữ sẽ là slug của loại bài viết tùy chỉnh đó.
Ví dụ, nếu bạn đăng ký một loại bài viết tùy chỉnh có slug là 'book', thì URL của trang lưu trữ sẽ là http://yourwebsite.com/book/
.
Tuy nhiên, bạn cũng có thể chỉ định một slug khác cho trang lưu trữ bằng cách đặt has_archive
thành một chuỗi chứa slug mà bạn muốn. Ví dụ, nếu bạn đặt has_archive
thành 'all-books', thì URL của trang lưu trữ sẽ là http://yourwebsite.com/all-books/
.
Dưới đây là một ví dụ về cách làm điều này:
function create_posttype() {
register_post_type( 'book',
array(
'labels' => array(
'name' => __( 'Books' ),
'singular_name' => __( 'Book' )
),
'public' => true,
'has_archive' => 'all-books', // Custom archive slug
'rewrite' => array('slug' => 'book'),
'show_in_rest' => true,
)
);
}
add_action( 'init', 'create_posttype' );
Nhớ chạy lại permalink sau khi thay đổi slug bằng cách đi tới Settings > Permalinks và nhấn nút Save Changes.