it-swarm-vi.tech

Thiết kế URL cho bài viết phụ?

Tôi hiện đang có điều này:

mysite.com/product-name
mysite.com/another-product

vv trong đó tên sản phẩm và sản phẩm khác là bài viết.

Sau đó, tôi có một loại bài đăng tùy chỉnh được gọi là Changelogs, mà tôi có cho mỗi sản phẩm, có thể có url giống như:

mysite.com/product-name/changelog
mysite.com/another-product/changelog

Nếu vậy, làm thế nào tôi sẽ làm điều đó?

1
Adam Dempsey

Không có thứ gọi là "Bài đăng phụ" trong Wordpress đã được tích hợp sẵn.

Nhưng có thể bạn tạo một plugin giới thiệu "Bài đăng phụ" theo phong cách bạn mô tả chúng.

Về mặt kỹ thuật, bạn không nói về các trang con mà là về Bố cục URL. Vì vậy, trong Wordpress, bạn thêm một điểm cuối ("changelog") mà bạn có thể xử lý với một số plugin, ví dụ: chuyển hiển thị sang một số bài đăng khác.

Một khi điều này không hoạt động đúng với các điểm cuối nhưng tôi nghĩ bây giờ nó đã được sửa. Không được sử dụng nó khó khăn, vì vậy câu trả lời của tôi chỉ là thông tin cho đến nay.

Liên quan:

3
hakre

Xin chào @ Adam:

Như bạn có thể biết tất cả "bài đăng" được lưu trữ trong cùng một bảng cơ sở dữ liệu cho "Bài viết" , "Trang" và bất kỳ loại bài tùy chỉnh.

Tôi đã đề cập trước đó để nhấn mạnh rằng tất cả "bài đăng" trường post_parent có sẵn và tôi đã sử dụng thành công để tạo cha mẹ-con mối quan hệ giữa, ví dụ, loại bài đăng 'restaurant' và loại bài đăng 'restaurant-location'.

Tuy nhiên, các URL khá phức tạp hơn một chút và tôi là một người cuồng tín khi nói đến Các URL được thiết kế tốt vì vậy bạn sẽ biết tôi sẽ xem xét rất nhiều.

Tôi đã triển khai mã để thực hiện tương tự như những gì bạn yêu cầu (ví dụ về nhà hàng/địa điểm) nhưng nó cực kỳ dễ vỡ và có tiềm năng tạo ra các tác dụng phụ không mong muốn với các plugin khác vì vậy tôi thực sự sợ đăng nó ở đây và thực tế gây ra cho mọi người nhiều rắc rối hơn là giúp đỡ.

Trong khi một số nhà phát triển WordPress khó tính hơn thường xuyên tracdanh sách tin tặc wp dường như không nghĩ rằng có nhiều vấn đề với hệ thống định tuyến URL mà mọi người khác tôi biết, những người thực sự đã cố gắng sử dụng nó cho bất kỳ mẫu nào khác ngoài việc viết blog đấu tranh với nó và thấy nó gây phẫn nộ. Đó là lý do tại sao tôi đã gửi vé này và hy vọng sẽ có một thời gian dành riêng để giải quyết trong tương lai gần:

Hiện tại, việc sử dụng các URL được thiết kế tốt là quá khó khăn và đầy nguy hiểm là một lựa chọn khả thi. Vì vậy, trong ngắn hạn Tôi thực sự khuyên bạn nên sử dụng bố cục URL tiêu chuẩn cho đến khi tôi có đủ thời gian rảnh để xử lý nó hoặc ai đó cải thiện hệ thống định tuyến URL của WordPress hoặc ai đó thậm chí còn thuê tôi sửa nó.

Thật không may Tôi biết đó không phải là câu trả lời mà bạn đang tìm kiếm nhưng đó là một câu trả lời chân thành và chân thành.

0
MikeSchinkel

Sau khi hoàn thành câu trả lời ở trên, tôi nhận ra rằng bạn có thể đạt được những gì bạn muốn đơn giản hơn là lần đầu tiên tôi nghĩ bằng cách tận dụng câu trả lời được viết trong câu hỏi này:

Tôi biết tiêu đề câu hỏi sẽ không ám chỉ bạn rằng nó có liên quan nhưng câu hỏi thực chất là về "bài đăng phụ" loại thông tin và URL liên quan.

Xin lỗi nó đã không xảy ra với tôi cho đến khi tôi đăng câu trả lời ở trên.

0
MikeSchinkel

Tôi đã quay lại dự án này sau một thời gian không làm việc với nó và đây là những gì tôi đã có:

như với các ví dụ trước đây của tôi nơi tôi có:

mysite.com/product-name/changelog mysite.com/another-product/changelog

đó là những bài đăng (thuộc loại thay đổi) và sên thực tế là tên sản phẩm

Sau đó, tôi sử dụng plugin Chuyển hướng để thực hiện chuyển từ

​/([a-zA-Z0-9-]*)​/changelog​/$

đến

/$1-changelog/

Nhưng cuối cùng nó lại chuyển hướng thành 301 đến mysite.com/product-name-changelog

Tôi đã thử nối với wp_redirect và canonical_redirect để tôi có thể thử dừng chuyển hướng nhưng không gặp may mắn cho đến nay.

Bất kỳ đề nghị về những gì khác để thử?

0
Adam Dempsey