web-dev-qa-db-ja.com

投稿に両親を含めることができますか?

投稿には両親がいるはずですか?もしそうなら、それは記事が親を持つことはどういう意味ですか?

また、両親を持つ投稿に何らかの制約がある場合、それはどこで強制されますか?私の言うとおりDBにはありません。

11
Alexander Bird

箱から出してすぐ、いいえ、投稿に両親を含めることはできません。それらはカテゴリに割り当てることができ、カテゴリは階層的に編成することができます。しかし、ページは親を持つことができ、その機能を使うことでそれらからメニュー構造を作ることができます。

これが実施される場所に関して:投稿の親は、 "wp_posts"の "post_parent"列に格納されます。実際のところ強制されているわけではありません。デフォルトのUIでは設定することができず、デフォルトのWPコーディングでは投稿にその値を使用しません。親と一緒に投稿するカスタム投稿タイプを作成することはそれほど難しくありません。

14
ZweiBlumen

Wpは "Pages"(階層型、親が許可)と "Posts"(非階層型)を内蔵しています。他の種類の投稿もありますが、それはそのままにしましょう。

Qの結果が

階層的な投稿はできますか?

それなら答えは はい です、…あなたは階層的な "投稿"を持つことができます。しかし、それらは組み込まれていないので、あなたはあなた自身の カスタム投稿タイプ を登録しなければなりません - 引数"階層を見てください。

そのような「投稿」(または記事、その他)は、親投稿がある場合は、オブジェクト内に親IDを設定します。ループでは、次のことができます。

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;
9
kaiser