Bài viết có thể có cha mẹ?


13

Là bài viết được cho là có cha mẹ? Nếu vậy, điều đó có nghĩa gì cho một bài đăng có cha mẹ?

Ngoài ra, nếu có một số ràng buộc đối với các bài đăng có cha mẹ, thì điều đó được thực thi ở đâu? Không phải trong DB như tôi thấy.

Câu trả lời:


15

Ra khỏi hộp, không, bài viết không thể có cha mẹ. Chúng có thể được gán cho các danh mục, có thể được tổ chức theo thứ bậc. Tuy nhiên, các trang có thể có cha mẹ và bạn có thể xây dựng cấu trúc menu từ chúng bằng cách sử dụng tính năng đó.

Về nơi điều này được thi hành: Cha mẹ của bài đăng được lưu trữ trong cột "post_parent" trong "wp_posts". Nó không thực sự được thi hành như vậy, chỉ là UI mặc định không cung cấp cho bạn tùy chọn để đặt nó và mã hóa WP mặc định không sử dụng giá trị đó cho Bài viết. Mặc dù vậy, sẽ không quá khó để tạo một loại bài đăng tùy chỉnh để có bài đăng với phụ huynh.


2
Cũng lưu ý rằng các tệp đính kèm phương tiện sử dụng post_parentcột, để xác định trang / bài đăng nào (bao gồm các loại bài đăng tùy chỉnh) mà chúng được đính kèm.
David Gard

@DavidGard Bạn nói đúng. Nhưng tôi nghĩ, chức năng đó sẽ không ảnh hưởng nếu chúng ta gán post_parentcho một "post_id" khác vì nó sẽ 0khác.
Người lạ

11

Wp đã xây dựng trong "Trang" (phân cấp, phụ huynh cho phép) và "Bài viết" (không phân cấp). Ngoài ra còn có các loại bài đăng khác, nhưng hãy để nó đi.

Nếu kết quả Q là:

Tôi có thể có bài viết phân cấp?

Sau đó, câu trả lời là , bạn có thể có "bài đăng" được phân cấp. Nhưng vì chúng không được tích hợp sẵn, bạn sẽ phải đăng ký Loại bài đăng tùy chỉnh của riêng mình - xem Phân số »phân cấp.

Những "Bài viết" như vậy (hoặc bài viết, bất cứ điều gì, khi đó) sẽ - trong trường hợp họ có bài đăng gốc - đã đặt ID cha bên trong đối tượng của họ. Vì vậy, trong một vòng lặp, bạn có thể làm như sau:

if ( have_posts )
{
    the_post();
    // etc.

    global $post;
    // call parent: http://codex.wordpress.org/Function_Reference/get_post
    $parent = get_post( $post->post_parent );

    echo "<h2>{$post->post_title} is a child of {$parent->post_title}";

    // etc.
} // endif;

2
Đóng đinh nó một cách hoàn hảo. Chính xác là điều tôi đang tìm kiếm.
Paras Shah

-1

Từ góc độ công cụ tìm kiếm, hai trong số những câu trả lời này được kết hợp sẽ giúp Google theo dõi thứ bậc của bài đăng của bạn, cũng như người dùng tất nhiên.

  1. Thêm một trang và sử dụng nó để lưu trữ bài viết của bạn. "Cách tốt nhất để đặt trang mẹ thông qua tất cả các bài đăng của bạn là thông qua menu (Giao diện -> Tùy chỉnh). Bạn có thể đặt trang tĩnh cho trang chủ hoặc trang bài đăng của mình. Khi bạn đặt trang bài đăng tĩnh, trang đó sẽ làm cha mẹ cho mỗi bài đăng trên blog cá nhân. "

  2. Thay đổi cấu trúc permalink thành / blog /% postname% như đã đề cập ở trên. "Giả sử bạn muốn nối thêm blog trước khi đăng bằng url hơn là đảm bảo rằng tên sên của trang blog của bạn là blog.

Sau đó, vào WP-admin-panel> settings> permalink và chọn tùy chọn cuối cùng "cấu trúc tùy chỉnh" và thêm vào sau trong đó:

/ blog /% tên bài viết% /

và lưu các thay đổi. Nó sẽ chỉ được áp dụng cho trang blog của bạn, trang khác sẽ không hiển thị blog là phụ huynh. "

Bằng cách này, Google thấy hệ thống phân cấp trong sơ đồ trang web là domain.com/page/post (theo thứ tự đó) và cũng sẽ tìm thấy nội dung ở cùng một nơi. Người dùng cũng sẽ như vậy. Công việc hoàn thành.


-4

Giả sử bạn muốn nối thêm blog trước khi đăng bằng url hơn là đảm bảo rằng tên sên của trang blog của bạn là blog.

Sau đó, vào WP-admin-panel> settings> permalink và chọn tùy chọn cuối cùng "cấu trúc tùy chỉnh" và thêm vào sau trong đó:

/blog/%postname%/

và lưu các thay đổi.

Nó sẽ chỉ được áp dụng cho trang blog của bạn, trang khác sẽ không hiển thị blog là cha mẹ.


-6

Tôi biết đây là một bài viết cũ. Tuy nhiên không có câu trả lời nào trong số này là đúng và tôi muốn đăng giải pháp tôi đã sử dụng để giải quyết vấn đề này. Cách tốt nhất để đặt trang mẹ thông qua tất cả các bài đăng của bạn là thông qua menu (Giao diện -> Tùy chỉnh). Bạn có thể đặt một trang tĩnh cho trang chủ hoặc trang bài viết của bạn. Khi bạn đặt một trang bài đăng tĩnh, trang đó sẽ là phụ huynh cho mỗi bài đăng trên blog cá nhân.


2
Đó không phải là trang mẹ - đó là một mẫu chứa một kho lưu trữ các bài đăng. Thiết lập mà không làm cho bài viết phân cấp.
kaiser

Làm thế nào mà không phải là một trang cha mẹ? Đó là một trang tĩnh (mà nhân tiện không phải là một kho lưu trữ, bất kỳ mẫu trang nào bạn gán cho trang tĩnh đó, có thể có bất cứ thứ gì bạn muốn) và khi điều này được thiết lập các url của bạn theo hệ thống phân cấp đó, cũng như Breadcrumbs trên trang web. Đó là bản sửa lỗi 1 phút cho phép bạn chỉ định trang tĩnh làm phụ huynh bài đăng. Câu hỏi của anh ấy đề cập đến việc KHÔNG NÊN về việc nó được phân cấp ngay từ đầu. Có lẽ bạn có thể khai sáng cho tôi về cách giải pháp này sẽ là thực tiễn xấu?
MuộnToTheParty

"Các bài đăng được cho là có cha mẹ" cũng giống như "Các bài đăng có phân cấp". Một mẫu có thể chứa mọi thứ , nhưng thực tế đơn giản là nó chứa một vòng lặp trả về và hiển thị một vòng lưu trữ không (a) làm cho trang của nó trở thành trang của nó (nó chỉ là nơi xảy ra vòng lặp) và (b) không làm cho kiểu bài đăng "bài" được xây dựng theo thứ bậc hoặc nói cách khác, không gán cha mẹ. Nhưng có, bạn có thể triệu tập các bài đăng trong một vòng lặp theo tiêu chí cụ thể (như danh mục con chung).
kaiser

Đừng để bị ném ra bởi những lời chỉ trích hoặc làm rõ câu hỏi hoặc câu trả lời của bạn. Nơi này là nơi mà điều này thực sự cần phải xảy ra mọi lúc để làm cho câu trả lời tốt nhất thành công và đóng vai trò là nơi thư viện / wiki nơi người ta có thể đi và ngay lập tức tìm ra cách làm một cái gì đó hoặc hiểu biết nhiều nhất có thể về cách thức hoạt động của một cái gì đó. Chúng tôi thậm chí còn khuyến khích mọi người (như bạn) bình luận về các câu trả lời khác. Hãy nhớ rằng tôi không đề cập rằng câu trả lời của bạn là thực hành xấu . Điều này đúng theo nhiều cách, chỉ là tuyên bố rằng nó làm cho kiểu bài đăng không được phân cấp.
kaiser
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.