典型的な WordPress プロジェクトでは、3 つの関係者がいると思います。パーティ 1 は、psd/pdf または html を提供するグラフィック デザイナーであり、パーティ 2 (開発者) は、おそらくいくつかのカスタム投稿を使用してテーマを作成するため、パーティ 3 (クライアントおよびコンテンツ エディター) は、デザインを台無しにすることなくサイトを更新できます。 HTML、JavaScript、Gimp、PHP に関する知識はありません。
これにより、サイトのメイン テーマまたは php ページ内の特定のページが結び付けられます。小さなデザイン変更が必要な場合は、php ファイルを編集して行う必要があります。
テーマのデザインについては、次のことを考えていました。
(複雑な販売統計などを持たないコンテンツのみのサイトを想定)
グラフィックデザインに合わせてpage.phpを「プログラミング」し、特定の(カスタム)投稿やその他のデータを取り込む代わりに、page.phpにサブコンテンツを取り込むようにします。これにより、グラフィック デザイナーはプログラミングせずにページを作成できます。
画像を提供する必要がある場合、ワードプレスはさまざまな画面サイズに合わせて事前にスケーリング/トリミングできます。
ページ全体は、エディター/クライアントではなく、page.php ではなく、デザイナーによってエディターから作成する必要があります。
<html {{lang}}>
<title>{{title}}</title>
...
{{main-slider}}
JS と css はカスタム フィールドを介して追加されるため、1 つのファイルにマージできます。
メインのスライダー ポストは次のようになります。
<div id="main-slider">{{main-slider-content}}</div>
JS と css は、ページの css または js を無効にするために提供でき、1 つのファイルにマージされます。
そして、main-slider-content
プログラマーが提供するカスタム投稿を通じて編集者が提供できるコンテンツは、編集者の手をずっと握ってすべてがうまくいくようにします.
これらのフィールドの一部は、ページのカスタム フィールド値で設定できます (欠落している場合はデフォルトに戻ります)。一部は投稿によって上書きされます (言語やタイトルなど)。
このテーマによって生成されるサイトのタイプは、Web プレゼンスを希望する中小企業の所有者によって使用されます。
デザインについていくつか疑問があり、ワードプレスの経験が豊富な人がこれに光を当ててくれることを願っています.
エディター/クライアントがスライダー コンテンツなどのカスタム投稿を編集する場合、そのコンテンツは基本的にすべてのページで使用されるため、アイテムをプレビューできません。スライダーが使用されているページをリストして表示する方法を見つけたとしても、公開されるまで新しいコンテンツは表示されません。ページのプレビューは、実装が少し複雑に思えます。
コンテンツの解析後にコンテンツとサブコンテンツをデータベースから取得する必要があるため、ページの生成に時間がかかります。以前にDOMDocumentでこれを実行しようとしまし
<div data-custom-content="main-slider"></div>
たが、それは遅すぎるため、regexpで試します。コンテンツはそれほど変わらないので、最初のリクエストの後に APC がページをキャッシュし、そこから提供するのではないかと考えました。何かが更新された場合にのみキャッシュを削除します。VPS では、サイトが長期間非アクティブな場合 (かなりの頻度で)、キャッシュが破棄される可能性があります (おそらくそうなるでしょう)。これは、ユーザーがページを表示しようとすると、リクエストの処理に時間がかかることを意味します。
これに関する経験または役立つヒントをお持ちの方
[アップデート]
特定のデザインと html テンプレートには、依然として強い依存関係があることがわかります。Twigを試してみることを今考えています。利点は、再利用可能なコンポーネントがプロジェクトに追加できるクラスであり、完全なコンテンツがプログラミング経験のない人でもコンテンツを管理できる方法で wordpress エディターで制御されることです。
ただし、ページに必要なデータが変更されると、プログラマーが必要になります。