Các trang Loại bài đăng tùy chỉnh là không tìm thấy


17

Tôi đã tạo hai loại Bài đăng tùy chỉnh mới bằng mã mà tôi đã sử dụng thành công trên các dự án khác mà không gặp sự cố. Cái đầu tiên được gọi top_charts, cái kia case_studiesvà cả hai xuất hiện chính xác trong menu quản trị và tôi có thể tạo bài viết mới.

Thật không may, bài viết mới không xuất hiện. Tôi chỉ nhận được một 404.phpphản hồi.

Tôi đã tạo một archive-top_charts.phpđể xem liệu tôi có thể nhận được bất cứ điều gì xuất hiện không, nhưng tôi thấy một 404.phpcâu trả lời "không tìm thấy trang".

Ban đầu tôi đặt tên cho các bài đăng tùy chỉnh top-chartscase-studies, nhưng tôi nghĩ rằng dấu gạch nối có thể là vấn đề và vì vậy đã đổi tên chúng để sử dụng dấu gạch dưới thay thế. Nó không giúp được gì.

Tôi đã thử lưu lại Permalinks của mình, nhưng không có gì thay đổi. Trang .htaccess của tôi trông giống như những gì bạn mong đợi (và các trang khác hoạt động tốt). Tôi có thể kiểm tra cái gì khác?


1
bạn đã sử dụng flush_rewrite_rules (false); trong đăng ký loại bài? để biết thêm chi tiết, hãy theo liên kết này nooshu.com/page-not-found-with-custom-post-types
jas

Cảm ơn. Điều đó đã cố định liên kết đến bài viết, nhưng không phải archive-top_charts.phptrang. Lạ thật!
Django Reinhardt

Chỉ cần thêm một phần của câu trả lời có thể giúp người dùng khác và cố gắng tìm kiếm kho lưu trữ là tốt.
JAS

đã tìm thấy câu trả lời đơn giản cho lỗi này trên một bài đăng ngăn xếp khác: Không tìm thấy trang Permalink Loại trang tùy chỉnh
dnll

Câu trả lời:


18

Để sửa bài đăng tùy chỉnh không tìm thấy, vui lòng sử dụng mã bên dưới trong functions.php:

flush_rewrite_rules( false );

Bạn chỉ nên làm điều này như một biện pháp tạm thời nếu không nó sẽ chạy trên mỗi lần tải trang.

Để biết thêm chi tiết xin vui lòng theo liên kết này

Đối với việc archive-top_charts.phpkhông xuất hiện, hãy đảm bảo bạn có 'has_archive' => truekhi đăng ký loại bài đăng của mình.


tuyệt vời mà bạn tìm thấy 'has_archive' :)
JAS

25

Bạn không phải chỉnh sửa mã php của mình!

Mặc dù bạn có thể thực hiện việc này trong chức năng đăng ký loại bài đăng tùy chỉnh của mình, giống như các câu trả lời khác, bạn cũng có thể thực hiện việc này trong menu cài đặt, do đó tránh chạm vào mã php của bạn:

Để xóa quy tắc viết lại WordPress hoặc permalinks (thường cần được thực hiện thủ công cho các loại bài đăng tùy chỉnh mới) từ Bảng điều khiển:

  1. Trong menu chính tìm "Cài đặt> Permalinks".
  2. Cuộn xuống nếu cần và nhấp vào "Lưu thay đổi".
  3. Viết lại quy tắc và permalinks được tuôn ra.

Nó đơn giản mà!

hình ảnh lưu trang permalinks tài liệu tham khảo


2
Tôi tin rằng tôi cũng cần has_archive, nhưng thật tốt khi biết bạn có thể buộc một lần xả qua menu.
Django Reinhardt

1
Có cách nào để tự động lưu thay đổi vào (cập nhật) permalinks thay vì vào Cài đặt> Permalinks mỗi khi danh mục / thuật ngữ CPT được thêm vào không? Giống như làm thế nào những người không phải quản trị viên có thể làm điều này nếu họ không có quyền truy cập vào cài đặt? Một hook có thể được gọi khi thêm một danh mục mới để tự động xóa permalinks?
Ryan Coolwebs

0

Tôi nhận ra rằng điều này là muộn trong trò chơi (và có thể không phải là vấn đề liên quan), nhưng tôi muốn chỉ ra cho người khác một vấn đề có thể xảy ra.

Trong trường hợp của tôi, tôi đã đặt viết lại phân loại thành các công cụ và loại nội dung viết lại thành cùng một thứ. Do đó, nó sẽ không bao giờ hoạt động đúng vì nó là một cuộc xung đột. Thật không may, không có phát hiện cho một điều như vậy vì vậy tôi đoán rằng tôi sẽ chỉ ra cho người khác.


-1

Trong trường hợp của tôi, nó bị thiếu quyền trong thư mục phát triển của tôi vì vậy tệp .htaccess không thể được tạo quảng cáo / hoặc sửa đổi.

Vì vậy, việc xóa thủ công hoặc Lưu các thay đổi trong WP Permalinks không giúp ích được gì.

Giải pháp là tự tạo tệp .htaccess

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.