Tôi có loại bài đăng 'sản phẩm' và phân loại phân loại 'loại' được đính kèm. Trong phân loại này, tôi có các thuật ngữ: 'khô-sạch', 'máy giặt', v.v ... Với một số điều khoản phụ trên mỗi điều khoản.
Trong tình huống của tôi, tôi cần hiển thị, ví dụ:
- http://example.com/types/washer -> hiển thị tất cả các điều khoản phụ trên đó
- http://example.com/types/washer/ {subterm} -> hiển thị tất cả các bài đăng trên đó
Câu hỏi của tôi là:
- Làm cách nào để có được URL permalink cho các cụm từ gốc? Tôi thử URL ở trên, nhưng kết quả là 404.
- Làm thế nào các tệp mẫu làm việc cho loại vấn đề đó?
- là
taxonomy-types-washer.php
đủ cho trường hợp # 1? hay tôi nên tạotaxonomy-types.php
và tạo logic ở đó? - trong tâm trí của tôi, sau khi quét phân cấp mẫu , tôi có thể cần
taxonomy-types-{term_parent}.php
liệt kê tất cả các thuật ngữ phụ vàtaxonomy-types.php
liệt kê tất cả các sản phẩm theo thuật ngữ phụ. - Cuối cùng, để hiển thị từng sản phẩm, tôi sẽ phải tạo
single-product.php
- là
- Về một vấn đề hơi không liên quan. Tôi thấy rằng
archive-{posttype}.php
nó không hoạt động khi tôi không có bất kỳ bài viết nào trên đó. Có giải pháp nào cho điều này? ( tôi nên tạo câu hỏi khác nhau, hoặc gắn bó với câu hỏi này )?
CẬP NHẬT
Tôi đã kiểm tra rewrite_rules
các tùy chọn của mình và nó không liệt kê [loại] nào cả. Tôi không biết tại sao. Để kiểm tra nó, tôi thay đổi sên của mình thành product-types
, xả permalink và nó liệt kê cái này:
[product-types/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?types=$matches[1]&feed=$matches[2]
[product-types/([^/]+)/(feed|rdf|rss|rss2|atom)/?$] => index.php?types=$matches[1]&feed=$matches[2]
[product-types/([^/]+)/page/?([0-9]{1,})/?$] => index.php?types=$matches[1]&paged=$matches[2]
[product-types/([^/]+)/?$] => index.php?types=$matches[1]
Vì vậy, tôi đoán nó đã được đăng ký ngay bây giờ. Tôi cố tải URL, product-types/washer
nó sẽ chuyển đến 404. Tôi cố tải URL index.php?types=washer
. Nó cũng vậy, đi 404. Ngay bây giờ, tôi có các tệp này:
- phân loại-loại-máy giặt.php
- phân loại -.php
Vì vậy, tôi không biết điều gì sai với cái này :(.
CẬP NHẬT # 2
Tôi tìm thấy vấn đề. Đó là vì tôi đã bỏ lỡ'rewrite'=>array('hierarchical'=>true)
Đây là cái mới rewrite_rules
:
[product-types/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?types=$matches[1]&feed=$matches[2]
[product-types/(.+?)/(feed|rdf|rss|rss2|atom)/?$] => index.php?types=$matches[1]&feed=$matches[2]
[product-types/(.+?)/page/?([0-9]{1,})/?$] => index.php?types=$matches[1]&paged=$matches[2]
[product-types/(.+?)/?$] => index.php?types=$matches[1]