アドベントカレンダー4日目の記事です。今日はディレクトリ構成がどうなっているかを書きたいと思います。ディレクトリ構成って結構悩みませんか?例えばよくあるのは画像用のディレクトリをどう配置するのかとか。何でもかんでも書き込むと10,000行とかえらいことになるので当然分割すると思いますが、そういったファイル群をどう配置するのかとか。テーマディレクトリって仕組み上散らかりやすいようになっているんですよね。みたいなファイルがすごい数になると同じ階層にバーっと色々な種類のファイルが混ざって把握するのが難しくなってしまいます。開発する中である程度自分なりの形が見えてきました。全部書くとかなり長くなっちゃうので一部省略していますが、おおよそ下記のような構成としています。設定ファイルがたくさん必要じゃないですか。使わないとか無いので。ファイルとまざって余計ごちゃごちゃうになっちゃうんですよね。いうディレクトリの中にいれています。テーマを認識してくれるんですよね。あるディレクトリをテーマと認識します。すればテーマディレクトリ直下ごちゃごちゃ問題解決できて超良いですよね!素晴らしい!ただ、1つだけ問題があるのです。コアのバグといっても過言ではないと思うのですが、アップデートのときにうまくディレクトリを認識してくれず、アップデートに失敗してしまうのです。公式ディレクトリ掲載テーマと同じようにアップデート機能を提供しているので、これが問題になってしまうんですよね...。サイト制作な仕事であれば、アップデート機能を仕込むということはあまり無いと思いますので、こういう風に一段落としてそのまま運用もするというのはなかなか良いかもしれませんね。中の構成も解説したいと思います。構成のままだとアップデートが失敗するので、このままでリリース(配布)することはできません。つくるようにしています。そのリリース版のディレクトリ構成はこちら。style.css書き出すとめっちゃ長い...。書くようなコードを、機能・役割ごとに分割して配置しています。中にまとめるようにしています。動作を定義する非常に重要なファイルが配置されています。内のファイルを上書きすることは推奨できません。追記することを推奨します。用のディレクトリです。ファイルも配置していることです。いうこと?」と思われる方もいらっしゃるかもしれません。これはカスタマイザーが出力するスタイルを定義したファイルになります。カスタマイザーでメインカラーの設定ができるようになっているのですが、メインカラーは色々な箇所で利用されます。リンク色とか、見出しの装飾の色とか。コンポーネント毎に整理して書いているのだから、それにあわせてカスタマイザーが出力するスタイルを定義したファイルも配置したほうがわかりやすいんじゃない?ということでこのような配置にしました。配置されるファイルを配置しています。参照するのがどうなのかなぁというのがあって。/template-parts/このディレクトリにはページネーションとかロゴとか記事一覧とかのコンポーネントを切り出して入れています。簡単に呼び出せる)、子テーマで「この部分だけ上書きしたい」というときに上書きする対象を最小限に抑えられるというメリットもあります。ページテンプレートに直接記述している場合は子テーマでページテンプレートをまるごと上書きするしか方法がなく、上書きの影響範囲がものすごく大きくなってしまいます。構造が変わったりしたときにもろに影響を受けてしまうことがあるので、なるべく細かく切り出したほうが良いと僕は考えています。/templates/特徴的なのはこのディレクトリですね。/templates/layout/、/templates/view/このディレクトリ内にはさらに「header」「footer」「sidebar」「wrapper」というディレクトリがあります。ようなテンプレートがそのページ全体のビューとなるような仕組みになっています。共通部分を切り出しているとはいえ、どうしても重複する部分がでたり、レイアウトの切り替えをしようとすると煩雑になったりしてしまいます。ビューコントローラーとして使用し、レイアウトファイルとビューファイルを指定してページをレンダリングする、という方法をとっています。中に配置するようにしています。中にバリエーションを配置して切り替えられるようにしています。中にファイルを置くことで上書きできるようにしています。/テーマディレクトリ直下も特徴的です。ファイルは省略せずに書いています。index.phpだけしかありません。ライブラリ)」という順にテンプレートを読むようになっているのです。これもテーマディレクトリ直下をきれいに保つための仕組みです。入っているテンプレートはすごくシンプルなものなので、もし上書きしたいという場合があれば、それだけテーマディレクトリ直下にファイルを置いて上書きすれば良い、というわけです。テーマディレクトリ直下が散らからないようにするか、そして、機能や役割ごとにファイルを正しく分割・配置して、あの機能についてのファイルならここにあるだろうなということが直感的にわかるようにする、というところに力を入れてディレクトリ構成を設計しました。意外にあまりスタンダードが無い部分だと思うので、よろしければみなさんがどうしてるかもきかせてもらえると嬉しいです!明日は明日は福岡のさとうさんが参加してくれています!なんと12/12、12/20も登録してありますね。フレームワーク等、多数のプロダクトをオープンソースで開発・公開しています。新グッズ「1点のみ」つくりました。オフィシャルグッズを作りました。アドベントカレンダー3日目の記事です。昨日は公式テーマディレクトリのレビューアであるミルコンさんが参加してくれました。リリースしてから1年が過ぎました。こんにちは、キタジマタカシの妻のはるです。良いテーマにするために、今後の機能開発等について情報共有したりディスカッションをしたりする場所です。多くのユーザーの交流があったほうがより良いプロダクトに育っていくと思いますので、ぜひご参加ください!オンラインコミュニティについてこの投稿へのコメントコメントはありません。コメントを残すコメントを投稿するにはログインしてください。この投稿へのトラックバックコメントはありません。使った制作案件の今後。フックを駆使した高度なカスタマイズにも柔軟に対応できます。WordPressしっかり納得してからご購入いただけるように購入前にご試用いただけます。設定方法やマニュアルを掲載しています。使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。購入者のみとなります。サービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。あるご質問お問い合わせよくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。