Xóa sên loại bài đăng khỏi URL WordPress

Tò mò làm thế nào để loại bỏ sên của loại bài đăng tùy chỉnh trong WordPress? . Thực hiện theo video hướng dẫn này, thêm hai chức năng đơn giản này và sên sẽ bị xóa khỏi URL loại bài đăng tùy chỉnh của bạn

Mã được sử dụng trong video hướng dẫn. https. //github. com/permaslug/remove-slug-from-cpt-wordpress/tree/master

Tìm hiểu thêm về khóa học Oxygen Builder của tôi tại đây. https. // permaslug. com/ultimate-oxygen-course

Tham gia nhóm Facebook dành cho Chuyên gia WordPress. https. //www. Facebook. com/groups/permaslugpros/

-Kết nối với tôi. –

  • Facebook. https. //www. Facebook. com/permaslug
  • Twitter. https. //twitter. com/permaslug

Đăng ký nhận bản tin không phù hợp nhất bên này của Mississippi

Được gửi trên cơ sở thường xuyên nhất có thể, tôi tóm tắt các hoạt động diễn ra ở đây trên Permaslug, chia sẻ thông báo và thông tin thích hợp khác. Tôi cũng ghét email rác như bạn và hứa sẽ không đóng góp cho nó nữa

Gần đây, chúng tôi được thuê để thiết kế lại một trang web có số liệu thống kê SEO tuyệt vời có cấu trúc URL rất độc đáo được thiết lập. Vì số liệu thống kê SEO của họ rất tốt nên chúng tôi đã được thử thách với nhiệm vụ xây dựng lại trang web này trong WordPress để cho phép bảo trì bảng điều khiển dễ dàng hơn trong khi vẫn giữ nguyên các URL để không mất bất kỳ SEO có giá trị nào. Mặc dù một số URL nhất định khá dễ sao chép, nhưng cấu trúc permalink loại bài đăng tùy chỉnh khá phức tạp hơn dự kiến ​​để duy trì. Chúng tôi cần thiết lập các loại bài đăng tùy chỉnh để bảo trì dễ dàng trong phần phụ trợ nhưng bằng cách nào đó, chúng tôi cần xóa sên loại bài đăng tùy chỉnh khỏi cấu trúc permalink(url). Nghe có vẻ dễ dàng nhưng khi chúng tôi thử vài lần mà không gặp may mắn, chúng tôi nhanh chóng nhận ra rằng điều này không đơn giản như chúng tôi nghĩ. May mắn thay, sự kiên trì đã được đền đáp vì cuối cùng chúng tôi đã tìm ra một phương pháp hoàn thành mọi thứ mà chúng tôi đang cố gắng đạt được. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách xóa sên loại bài đăng tùy chỉnh khỏi cấu trúc permalink(url) trong WordPress mà không cần sử dụng plugin

Để xóa slug loại bài đăng tùy chỉnh khỏi cấu trúc permalink, bạn sẽ cần thêm PHP sau vào tệp chức năng WordPress. Đơn giản chỉ cần mở chức năng của bạn. php, sao chép và dán mã bên dưới, sau đó làm theo các bước bên dưới để chỉnh sửa cho loại bài đăng tùy chỉnh cụ thể của bạn

PHP

 function dd_remove_posttype_slug( $post_link, $post, $leavename ) {
     if ( ! in_array( $post->post_type, array( 'your-post-type' ) ) || 'publish' != $post->post_status )
         return $post_link;
     $post_link = str_replace( '/your-post-type-slug/', '/', $post_link );
         return $post_link;
 }
 add_filter( 'post_type_link', 'dd_remove_posttype_slug', 10, 3 );
 function dd_parse_request_posttype( $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', 'page', 'your-post-type' ) );
 }
 add_action( 'pre_get_posts', 'dd_parse_request_posttype' ); 
  1. Thay thế 'your-post-type' trên dòng 2 và dòng 15 bằng loại bài đăng tùy chỉnh thực tế của bạn
  2. Thay thế 'your-post-type-slug' trên dòng 4 bằng sên cho loại bài đăng tùy chỉnh thực tế của bạn
  3. Tải lên các chức năng của bạn. php vào máy chủ của bạn
  4. Làm mới cài đặt permalink của bạn trong bảng điều khiển WordPress

Để xóa slug khỏi cấu trúc permalink của nhiều loại bài đăng tùy chỉnh, bạn sẽ sử dụng cùng mã ở trên nhưng có sửa đổi nhỏ. Đơn giản chỉ cần mở chức năng của bạn. php, sau đó sao chép và dán mã bên dưới và làm theo các bước bên dưới để chỉnh sửa cho các loại bài đăng tùy chỉnh cụ thể của bạn

PHP

 function dd_remove_posttype_slug( $post_link, $post, $leavename ) {
     if ( ! in_array( $post->post_type, array( 'your-post-type1', 'your-post-type2' ) ) || 'publish' != $post->post_status )
         return $post_link;
     $post_link = str_replace( '/your-post-type-slug1/', '/', $post_link );
     $post_link = str_replace( '/your-post-type-slug2/', '/', $post_link );
     return $post_link;
 }
 add_filter( 'post_type_link', 'dd_remove_posttype_slug', 10, 3 );
 function dd_parse_request_posttype( $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', 'page', 'your-post-type1', ’your-post-type2' ) );
 }
 add_action( 'pre_get_posts', 'dd_parse_request_posttype' );  
  1. Thay thế 'your-post-type1' và 'your-post-type2' trên dòng 2 và dòng 16 bằng các loại bài đăng tùy chỉnh thực tế của bạn
  2. Thay thế 'your-post-type-slug1' trên dòng 4 và 'your-post-type-slug2' trên dòng 5 bằng sên cho các loại bài đăng tùy chỉnh thực tế của bạn
  3. Tải lên các chức năng của bạn. php vào máy chủ của bạn
  4. Làm mới cài đặt permalink của bạn trong bảng điều khiển WordPress

Xử lý sự cố

Nếu bạn gặp sự cố khi thực hiện hướng dẫn này, vui lòng đọc lại hướng dẫn và thử lại. Vui lòng không gửi email cho chúng tôi với các vấn đề liên quan đến hướng dẫn này trừ khi bạn muốn thuê chúng tôi