Sử dụng trang WordPress thay vì lưu trữ loại bài đăng


15

Xin lỗi nếu đây là một bản sao - tôi không thể tìm thấy câu trả lời.

Làm cách nào để viết lại trang lưu trữ loại bài đăng tùy chỉnh thành trang WordPress 'nhân tạo'?

Ví dụ:

  • Trang duy nhất: http://www.mywebsite.com/cool-post-type/awesome-single-post/
  • Trang lưu trữ: http://www.mywebsite.com/cool-post-type/

Tôi muốn http://www.mywebsite.com/cool-post-type/viết lại http://www.mywebsite.com/about-cool-post-types/.

Tôi có thể làm điều này với htaccess không và cú pháp sẽ là gì? (Tôi không giỏi về htaccess!)

Điều này không hoạt động:

RewriteRule ^cool-post-type\/\?$ /about-cool-post-types [L]

Hay tôi phải làm điều này trong mã nguồn WordPress? Tôi không muốn!

Câu trả lời:


16

Điều này thực sự khá dễ dàng. Khi bạn khai báo loại bài đăng của mình bằng register_post_type , bạn cần thêm một đối số mới cho 'has_archive'.

Vì vậy, bạn sẽ thêm một cái gì đó vào tác dụng của:

'has_archive' => 'about-cool-post-types'

Sau đó, đi tới Cài đặt> Permalinks để xóa chúng và nó sẽ hoạt động. Tôi đã thử nghiệm nó cục bộ và đây dường như là cách để tự động tạo trang lưu trữ của bạn tại một URL khác. Sau đó, bạn sẽ có thể tạo một trang tại sên của CPT.


Điều này đã ngừng hoạt động nhưng tôi đã cố gắng khắc phục bằng cách gán 'has_archive' cho văn bản tùy ý và đổi tên sên trang của tôi thành sên danh mục.
Warwick

7

Hiện tại cũng có một plugin 1 tệp đơn giản, bởi dân gian HumanMade;

https://github.com/humanADE/page-for-post-type

(Meta: Tôi biết câu trả lời với các liên kết thường không tuyệt vời, nhưng tôi không chỉ muốn sao chép và dán mã nguồn cho điều đó vào câu trả lời. Chiến lược tốt nhất cho loại điều này là gì?)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.