Câu trả lời của toscho là chính xác vì lý do kỹ thuật để xác định CPT của bạn trong một plugin, nhưng đối với tôi, phần lớn câu hỏi của bạn bắt nguồn từ sự hiểu lầm về hệ thống phân cấp mẫu. Hầu như, nhưng không hoàn toàn, mọi tệp mẫu mà bạn đã thấy là tùy chọn.
Ngoại trừ tệp mẫu index.php cơ bản, nhà phát triển Chủ đề có thể chọn xem họ có muốn triển khai tệp mẫu cụ thể hay không. Nếu WordPress không thể tìm thấy tệp mẫu có tên phù hợp, nó sẽ bỏ qua tên tệp tiếp theo trong cấu trúc phân cấp. Nếu WordPress không thể tìm thấy bất kỳ tệp mẫu phù hợp nào, index.php (tệp mẫu trang chủ của Chủ đề) sẽ được sử dụng.
http://codex.wordpress.org/Template_HVELy
WordPress sẽ sử dụng các tệp chuyên biệt cụ thể nếu chúng tồn tại nhưng quay lại tệp khác - cuối cùng index.php
- nếu không có tệp chuyên biệt. Chủ đề của bạn không phải triển khai bất cứ điều gì đặc biệt để giải quyết hoặc bù đắp cho CPT của plugin của bạn. Các chủ đề có thể nhưng không phải .
- Giả sử tôi đã kích hoạt
has_archive
tôi vẫn cần tạo archive-cpt.php
, phải không?
Số archive.php
sẽ được sử dụng và nếu thất bại thìindex.php
- Ngoài ra: Để hiển thị CPT tôi cần tạo một vòng lặp tùy chỉnh, vì vậy tôi vẫn cần tạo
single-cpt.php
... đúng không?
Một lần nữa, không. Lý do tương tự. single.php
sẽ được sử dụng và nếu không index.php
.
- Và những tập tin này cần phải được tạo ra trong chủ đề , phải không?
Có, nhưng chúng là tùy chọn. Bạn không cần chúng ở tất cả.
- Nếu tôi tắt plugin: tôi vẫn phải xóa (hoặc ẩn hoặc một cái gì đó)
archive-cpt.php
và single-cpt.php
các trang.
Không. Bạn không cần phải làm gì cả. Các mẫu sẽ không được sử dụng.
- Nếu tôi chuyển Chủ đề : Tôi vẫn phải thêm hai trang đó vào chủ đề mới. Đúng?
Sai lầm. Các mẫu là tùy chọn. Bạn chỉ cần chúng nếu bạn muốn một màn hình tùy chỉnh cho loại bài đăng.
Khi bạn hiểu rằng chủ đề và CPT không được kết nối mật thiết như câu hỏi của bạn có vẻ như vậy, thì một số logic khác sẽ có ý nghĩa hơn một chút.