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


13

投稿には親がいるはずですか?もしそうなら、それは投稿が親を持つために何を意味しますか?

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

回答:


15

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

これが強制される場所について:投稿の親は、「wp_posts」の「post_parent」列に保存されます。そのように強制されているわけではありません。デフォルトのUIでは設定するオプションが提供されておらず、デフォルトのWPコーディングではその値が投稿に使用されません。ただし、カスタム投稿タイプを作成して親と投稿することはそれほど難しくありません。


2
また、メディア添付ファイルでは、post_parent列を使用して、添付されているページ/投稿(カスタム投稿タイプを含む)を識別します。
デビッドガード14

@DavidGardあなたは正しい。しかしpost_parent、他の "post_id"に割り当てると、その機能は影響を及ぼさないと思い0ます。
ストレンジャー

11

Wpには「ページ」(階層、親が許可)と「投稿」(非階層)が組み込まれています。他の投稿タイプもありますが、それは残しておきましょう。

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;

2
完全に釘付け。まさに私が探していたもの。
パラスシャー

-1

検索エンジンの観点からは、これらの回答のうち2つを組み合わせることで、Googleが投稿の階層だけでなく、もちろんユーザーを追跡するのに役立ちます。

  1. ページを追加し、それを使用して投稿をホストします。「すべての投稿で親ページを設定する最良の方法は、(外観->カスタマイズ)メニューを使用することです。ホームページまたは投稿ページに静的ページを設定できます。静的投稿ページを設定すると、そのページはすべての個々のブログ投稿の親になります。」

  2. 上記のようにパーマリンク構造を/ blog /%postname%に変更します。「ブログページのスラッグ名がblogであることを確認するよりも、URLに投稿する前にブログを追加するとします。

次に、WP-admin-panel> settings> permalinkに移動し、最後のオプション「custom structure」を選択して、以下を追加します。

/ blog /%postname%/

変更を保存します。ブログページにのみ適用され、他のページにはブログが親として表示されません。」

このようにして、Googleはサイトマップの階層をdomain.com/page/postとして(この順序で)認識し、同じ場所でコンテンツを見つけます。ユーザーもそうです。仕事完了。


-4

ブログページのスラッグ名がblogであることを確認するよりも、URLに投稿する前にブログを追加するとします。

次に、WP-admin-panel> settings> permalinkに移動、最後のオプション「custom structure」を選択して以下を追加します。

/blog/%postname%/

変更を保存します。

ブログページにのみ適用され、他のページにはブログが親として表示されません。


-6

私はこれが古い投稿であることを知っています。しかし、これらの答えはどれも正しくないため、この問題を解決するために使用した解決策を投稿したかったのです。すべての投稿で親ページを設定する最良の方法は、(外観->カスタマイズ)メニューを使用することです。ホームページまたは投稿ページに静的ページを設定できます。静的な投稿ページを設定すると、そのページは個々のブログ投稿の親になります。


2
それは親ページではありません-投稿のアーカイブを含むテンプレートです。これを設定しても、投稿は階層化されません。
カイザー14

親ページではないのはどうしてですか?それは静的なページです(ちなみに、アーカイブである必要はありません。その静的なページに割り当てるページテンプレートは何でも、必要なものは何でも使用できます)。サイトに。静的なページを投稿の親として割り当てることができる1分間の修正です。彼の質問は、そもそもそれが階層的であることについては何も言及していない。おそらく、この解決策がどのように悪い習慣であるかについて、私を啓発することができましたか?
LateToTheParty 14

「親を持つはずの投稿」は「階層的な投稿」と同じです。テンプレートにはすべてを含めることができますが、アーカイブループを返し表示するループが含まれているという単純な事実は、(a)ページを親にしません(ループが発生する場所だけです)、および(b)しません組み込みの投稿タイプを「投稿」階層にするか、言い換えれば、親を割り当てません。ただし、はい、特定の条件(共有された子カテゴリなど)でループで投稿を呼び出すことができます。
カイザー14

質問や回答に対する批判や明確化に気を取られないでください。この場所は、ベストアンサーを成功させるために常に実際にこれを行う必要がある場所であり、ウィキ/ライブラリの場所として機能します 私たちは、あなたのような人々も他の答えにコメントすることを奨励しています。あなたの答えが悪い習慣だとはどこにも言及していないことに留意してください。それは多くの点で真実であり、投稿タイプを階層化するというステートメントはそうではありません。
カイザー14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.