web-dev-qa-db-ja.com

ワードプレスの投稿が階層的ではないのはなぜですか?

私は約7か月間WordPressをCMSとして使ってきましたが、その中には次のようなコア機能があります。

  • ナビゲーションツリー:ページを簡単にナビゲートするためのWp_list_pages
  • Solr検索エンジン:投稿のみの索引付け(一部のページはツリー内で重複しているため)
  • 投稿を埋め込むページ。ほぼすべてのページに埋め込み投稿が含まれています。これは、各ページを個別に編集しなくても、ツリーナビゲーションの複数の場所で投稿を参照できるためです。

したがって、私のCMSを管理するための私のプロセスは次のとおりです。

  1. 新しいコンテンツの投稿を作成する
  2. 分類法の選択(Solr検索フィルタリングで使用するため)
  3. 投稿を公開します。公開すると、埋め込まれた投稿で「スタンバイ」の親を持つページが自動的に作成されます。これで時間が節約できます。
  4. 私の保留中のページを見て、私のツリー階層で整理するために CMSツリーページビュー を通して)スタンバイに行ってください。埋め込み投稿をツリーの複数の場所に掲載する場合は、ページを複製します。

私のプロセスは私のCMSニーズを満たしていますか?はい。 MySQLデータは事実上2倍になりますか?はい。埋め込み投稿のあるページは、効果的な階層型CMSを作成するための最善の解決策ですか?よく分かりません。

フロントエンドでのサイトナビゲーションの利便性のために、ページを作成する必要なしに投稿をツリー階層に整理するのはいいでしょう。埋め込み投稿を編集すると、その投稿を保持しているすべてのページが更新されることも重要です。

階層ツリーを作成するためのより良い方法はありますか、そして投稿が階層的でない理由は何ですか?

1
AlxVallejo

ご存知のとおり、WordPressは2つの主なコンテンツタイプ、 ページ および 投稿 で設計されています( http:も参照してください)。 //en.support.wordpress.com/post-vs-page/

Postのまさにそのデザインは階層的ではないということです。そしてPagesの性質は階層的であることです。投稿はブログの一部になります。ブログはほとんどの場合組織内でその場限りのものです。したがって、それらの投稿をナビゲートするには多くの方法が必要です。さらに、親>子の関係はありません。新しい投稿はそれぞれ独自のエンティティと見なされますが、他の投稿との関係を作成するためにタグ付けまたは分類することができます。

それを考える別の方法は、次のとおりです。投稿=ブログページ= CMS

既存のCMSを使用しているので、 ボトムアップ アプローチを取っていることを理解することが重要です。つまり、コア機能があなたのために働かないのであれば、望みどおりに働かないCMSの基本原則をハックしようとするよりもむしろあなたのニーズを満たす別の解決策を見つけるのが最善です。

カテゴリを作成して、投稿に疑似階層を提供することができます。これらのコア概念のいくつかでは、ベストプラクティスを試して使用するのが最も簡単です。それはまた長期的により良い結果を生み出すでしょう。保守、更新、および修正が容易になります。

WordPressもSEO用に設計されています。私はイントラネットのためにそれを使うのは無意味であることに気づいています、しかしそれはそれがするように設計されていることです。このため、強制しない限りコンテンツを複製することはできません。

私がすることは:

  • アイデアや概念の主要なコンテナーとしてページを作成する
  • それらのページを投稿にリンクします(あるいは、最初から記事に投稿するのではなく、ページに情報を入れさえしません。ブログの一部でなければ、投稿ではなく、ページです)。
  • メインナビゲーション内の複数の場所から同じコンテンツにリンクしないでください。

私はこれまで一度だけコンテンツを配置し、それが事実になるようにコンテンツを整理し、それがナビゲーションで一度だけ終わることになるでしょう。他のページを参照しているページがあっても問題ありません。

2
user1337