web-dev-qa-db-ja.com

CMS:複雑なページをエンドユーザーが編集できるようにする

私はWordPressを使用して、ちょっと見栄えのよい企業Webサイト(1ダースの静的ページとブログセクション)を再作成することを任務としてきました。実際のWebデザインやPHP自体に問題はありません。ただし、エンドユーザーがHTMLの知識がなくても、より複雑なレイアウトで静的ページを編集できるように設定する方法を見つけるのに苦労しています。

たとえば、このサイトのフロントページでは、一番上にあるJumbotron /スライダの非常によく知られたパターン、その下にある3つの小さな「ハイライト」ボックス、そして残りのページの下にいくつかの明確なセクションがあります。交互の側に浮かんだ。 (種類 これ が好きです。)

これらのコンポーネントはすべて実際のコンテンツなので、ユーザーが簡単に編集できる必要があります。新バージョンの製品が登場したら、Jumbotronの見出しを変更して、小さなハイライトボックスに新機能を説明し、セクションの交互の画像を更新する必要があります。

私が検討した方法には、Jumbotron用に個別の編集可能領域を作成するためのウィジェットまたは 高度なカスタムフィールド のようなものの使用が含まれます。非常に堅牢またはエレガントに見えます。これらのページコンポーネントを囲む単純化されたラッパーを作成するために shortcodes を使用することも検討しましたが、WordPressにはshortcodeブロックの内容に関わる1000の小さなバグがあります(余分な改行、開いているタグと閉じているタグの迷走、&c。).

私が説明したようなページ構造を使用するWordPressサイトを見たことがありますが、管理方法を示す無料のテーマ/プラグインを見つけることができませんでした。私が上記で述べた方法は、これらのサイトが一般的に使用しているものですか、それとも私がここで理解していない基本的なWordPress機能がありますか?

2
kine

あなたの質問は(私がそれを理解しているように)それがコーディングの非常に重要な局面 - 計画に取り組むので非常に興味深いです。

また、良い構造を計画するには、使用しているプラ​​ットフォームに関する十分に確立された知識が必要です。

質問(私の理解のために)は、コードでは答えることができませんが、メソッドを検討するようなものです。 (まあ - それはコードで答えることができます - しかしそれはほとんどのwpの側面ではないにしてもLOTをカバーするはずなのでpageのような小さなwikiまたはcodexになるでしょう)

そのような構造を達成し、そのようなテーマを構築する多くの方法があります。あなたが説明したものは有効です。

私はカスタム投稿タイプのファンではありませんが、エンドユーザーには利点があります。

カスタム投稿タイプ も別の方法になるでしょう - やり過ぎの私見ですが非常にユーザーフレンドリーです。

これらの方法のどれもが他のものより「優れている」 - それは本当にあなたのニーズ、コーダーとしてのあなたのスキル、そしてあなたのユーザーのスキルに左右される。

カテゴリー(スライダー用、クライアント用、紹介文用など)に分類された単純な投稿でも、同じことが別の方法で(そして以前にも行ったことがあります)達成できます。

まとめると、6つの方法が頭に浮かびます(特定の順序ではありません)。

  • 1ウィジェット

  • 2カスタム投稿タイプ

  • 3カテゴリーによる簡単な区分

  • 4カスタムフィールド(私は本当にそれらを悪用するのは好きではありませんが、何でも。有効な方法です)

    • (4.1メタボックス - 括弧内は4へのインタフェースのみとなるため)
  • 5ダイレクトカスタムクエリ

  • 6簡単な管理ページ(または「テーマオプション」ページ)

(他に何か気になった場合はリストが更新されます。)

たぶん

私がここで理解していないいくつかの基本的なWordPress機能?

custom_post_type() はおそらくあなたが見逃している部分であることをあなたが言うだろう..しかし、彼らは非常に多くのチュートリアルでそれを見たので大部分は私見です。

上記のリストのそれぞれについて、プラグイン、クラス、フレームワーク、そしてヘルパーの無限のリストがあります - それ自身がウィキです - 私はそれ自身のページです。私は6番目のメソッドへのクイックリンクをドロップするだけです - HERE - それは簡単だからですが、他のすべてへのリンクも避けることをお勧めします。

この時点で - GIYBF。

私は実際にこの質問に答えました。3時間前に私はちょうどあなたが示したものと同じようなテーマをコーディングし終えたからです。

この特定のケースでは、私は方法としてウィジェットを選択しました - そしてすべてのサイト管理は1つの場所で行われます - ウィジェットエリア。構築が非常に簡単、保守が非常に簡単、更新が非常に簡単 - そしてコードのジャグリングは不要です。

しかし、私はもう一度強調しなければなりません、すべての方法が有効であること。

私はもう一方をお勧めすることはできません。

私はそれらすべてを使いました。

すべてうまくいきます。

彼ら全員が彼ら自身に合う彼ら自身の特定のニッチを持っています。

あとは個人的な好み(クライアントとコーダーの両方)とセマンティクスだけです。

2
krembo99